aboutsummaryrefslogtreecommitdiff
path: root/final/ABI-Testsuite/test/s2_6/T_vf50.x
diff options
context:
space:
mode:
Diffstat (limited to 'final/ABI-Testsuite/test/s2_6/T_vf50.x')
-rwxr-xr-xfinal/ABI-Testsuite/test/s2_6/T_vf50.x225218
1 files changed, 225218 insertions, 0 deletions
diff --git a/final/ABI-Testsuite/test/s2_6/T_vf50.x b/final/ABI-Testsuite/test/s2_6/T_vf50.x
new file mode 100755
index 00000000..4aa70b71
--- /dev/null
+++ b/final/ABI-Testsuite/test/s2_6/T_vf50.x
@@ -0,0 +1,225218 @@
+// 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 E0x0 : C0 , D1 {
+ int fd;
+ ~E0x0(); // tgen
+ E0x0(); // tgen
+};
+//SIG(-1 E0x0) C1{ BC2{ BC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E0x0 ::~E0x0(){ note_dtor("E0x0", this);} // tgen
+E0x0 ::E0x0(){ note_ctor("E0x0", this);} // tgen
+
+static void Test_E0x0()
+{
+ extern Class_Descriptor cd_E0x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x0, buf);
+ E0x0 *dp, &lv = *(dp=new (buf) E0x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x0)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(12,8), "E0x0");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(16,12), "E0x0");
+ check_base_class_offset(lv, (C0*), ABISELECT(12,8), "E0x0");
+ check_base_class_offset(lv, (D1*), 0, "E0x0");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E0x0.fd");
+ test_class_info(&lv, &cd_E0x0);
+ dp->~E0x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x0(Test_E0x0, "E0x0", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x0C1Ev();
+extern void _ZN4E0x0D1Ev();
+Name_Map name_map_E0x0[] = {
+ NSPAIR(_ZN4E0x0C1Ev),
+ NSPAIR(_ZN4E0x0D1Ev),
+ {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_E0x0[] = {
+ // 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
+ 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 _ZTI4E0x0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E0x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+Class_Descriptor cd_E0x0 = { "E0x0", // class name
+ bases_E0x0, 4,
+ &(vtc_E0x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x0),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 G0x0y0 : E0x0 , F1 {
+ int ff;
+ ~G0x0y0(); // tgen
+ G0x0y0(); // tgen
+};
+//SIG(1 G0x0y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x0y0 ::~G0x0y0(){ note_dtor("G0x0y0", this);} // tgen
+G0x0y0 ::G0x0y0(){ note_ctor("G0x0y0", this);} // tgen
+
+static void Test_G0x0y0()
+{
+ extern Class_Descriptor cd_G0x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x0y0, buf);
+ G0x0y0 *dp, &lv = *(dp=new (buf) G0x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y0)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(12,8), "G0x0y0");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(16,12), "G0x0y0");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(12,8), "G0x0y0");
+ check_base_class_offset(lv, (D1*)(E0x0*), 0, "G0x0y0");
+ check_base_class_offset(lv, (E0x0*), 0, "G0x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G0x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G0x0y0.ff");
+ test_class_info(&lv, &cd_G0x0y0);
+ dp->~G0x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y0(Test_G0x0y0, "G0x0y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y0C1Ev();
+extern void _ZN6G0x0y0D1Ev();
+Name_Map name_map_G0x0y0[] = {
+ NSPAIR(_ZN6G0x0y0C1Ev),
+ NSPAIR(_ZN6G0x0y0D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x0y0[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x0, 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_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 _ZTI6G0x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G0x0y0[];
+extern VTBL_ENTRY _ZTV6G0x0y0[];
+Class_Descriptor cd_G0x0y0 = { "G0x0y0", // class name
+ bases_G0x0y0, 6,
+ &(vtc_G0x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y0),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 G0x0y1 : virtual E0x0 , F1 {
+ int ff;
+ ~G0x0y1(); // tgen
+ G0x0y1(); // tgen
+};
+//SIG(1 G0x0y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x0y1 ::~G0x0y1(){ note_dtor("G0x0y1", this);} // tgen
+G0x0y1 ::G0x0y1(){ note_ctor("G0x0y1", this);} // tgen
+
+static void Test_G0x0y1()
+{
+ extern Class_Descriptor cd_G0x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x0y1, buf);
+ G0x0y1 *dp, &lv = *(dp=new (buf) G0x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y1)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(28,20), "G0x0y1");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(32,24), "G0x0y1");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(28,20), "G0x0y1");
+ check_base_class_offset(lv, (D1*)(E0x0*), ABISELECT(16,12), "G0x0y1");
+ check_base_class_offset(lv, (E0x0*), ABISELECT(16,12), "G0x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x0y1.ff");
+ test_class_info(&lv, &cd_G0x0y1);
+ dp->~G0x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y1(Test_G0x0y1, "G0x0y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y1C1Ev();
+extern void _ZN6G0x0y1D1Ev();
+Name_Map name_map_G0x0y1[] = {
+ NSPAIR(_ZN6G0x0y1C1Ev),
+ NSPAIR(_ZN6G0x0y1D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x0y1[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E0x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G0x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y1[];
+static VTT_ENTRY vtt_G0x0y1[] = {
+ {&(_ZTV6G0x0y1[3]), 3,8},
+ {&(_ZTV6G0x0y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x0y1[];
+extern VTBL_ENTRY _ZTV6G0x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y1[];
+Class_Descriptor cd_G0x0y1 = { "G0x0y1", // class name
+ bases_G0x0y1, 6,
+ &(vtc_G0x0y1[0]), // expected_vtbl_contents
+ &(vtt_G0x0y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y1),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 G0x0y2 : E0x0 , virtual F1 {
+ int ff;
+ ~G0x0y2(); // tgen
+ G0x0y2(); // tgen
+};
+//SIG(1 G0x0y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x0y2 ::~G0x0y2(){ note_dtor("G0x0y2", this);} // tgen
+G0x0y2 ::G0x0y2(){ note_ctor("G0x0y2", this);} // tgen
+
+static void Test_G0x0y2()
+{
+ extern Class_Descriptor cd_G0x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x0y2, buf);
+ G0x0y2 *dp, &lv = *(dp=new (buf) G0x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y2)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(12,8), "G0x0y2");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(16,12), "G0x0y2");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(12,8), "G0x0y2");
+ check_base_class_offset(lv, (D1*)(E0x0*), 0, "G0x0y2");
+ check_base_class_offset(lv, (E0x0*), 0, "G0x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x0y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x0y2.ff");
+ test_class_info(&lv, &cd_G0x0y2);
+ dp->~G0x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y2(Test_G0x0y2, "G0x0y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y2C1Ev();
+extern void _ZN6G0x0y2D1Ev();
+Name_Map name_map_G0x0y2[] = {
+ NSPAIR(_ZN6G0x0y2C1Ev),
+ NSPAIR(_ZN6G0x0y2D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x0y2[] = {
+ // 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_E0x0, 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 _ZTI6G0x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x0y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y2[];
+static VTT_ENTRY vtt_G0x0y2[] = {
+ {&(_ZTV6G0x0y2[3]), 3,8},
+ {&(_ZTV6G0x0y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x0y2[];
+extern VTBL_ENTRY _ZTV6G0x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y2[];
+Class_Descriptor cd_G0x0y2 = { "G0x0y2", // class name
+ bases_G0x0y2, 6,
+ &(vtc_G0x0y2[0]), // expected_vtbl_contents
+ &(vtt_G0x0y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y2),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 G0x0y3 : virtual E0x0 , virtual F1 {
+ int ff;
+ ~G0x0y3(); // tgen
+ G0x0y3(); // tgen
+};
+//SIG(1 G0x0y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x0y3 ::~G0x0y3(){ note_dtor("G0x0y3", this);} // tgen
+G0x0y3 ::G0x0y3(){ note_ctor("G0x0y3", this);} // tgen
+
+static void Test_G0x0y3()
+{
+ extern Class_Descriptor cd_G0x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x0y3, buf);
+ G0x0y3 *dp, &lv = *(dp=new (buf) G0x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y3)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(28,16), "G0x0y3");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(32,20), "G0x0y3");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(28,16), "G0x0y3");
+ check_base_class_offset(lv, (D1*)(E0x0*), ABISELECT(16,8), "G0x0y3");
+ check_base_class_offset(lv, (E0x0*), ABISELECT(16,8), "G0x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x0y3.ff");
+ test_class_info(&lv, &cd_G0x0y3);
+ dp->~G0x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y3(Test_G0x0y3, "G0x0y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y3C1Ev();
+extern void _ZN6G0x0y3D1Ev();
+Name_Map name_map_G0x0y3[] = {
+ NSPAIR(_ZN6G0x0y3C1Ev),
+ NSPAIR(_ZN6G0x0y3D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x0y3[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E0x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G0x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x0y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y3[];
+static VTT_ENTRY vtt_G0x0y3[] = {
+ {&(_ZTV6G0x0y3[4]), 4,12},
+ {&(_ZTV6G0x0y3[7]), 7,12},
+ {&(_ZTV6G0x0y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G0x0y3[];
+extern VTBL_ENTRY _ZTV6G0x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y3[];
+Class_Descriptor cd_G0x0y3 = { "G0x0y3", // class name
+ bases_G0x0y3, 6,
+ &(vtc_G0x0y3[0]), // expected_vtbl_contents
+ &(vtt_G0x0y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y3),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 G0x0y4 : E0x0 , F0 {
+ int ff;
+ ~G0x0y4(); // tgen
+ G0x0y4(); // tgen
+};
+//SIG(1 G0x0y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x0y4 ::~G0x0y4(){ note_dtor("G0x0y4", this);} // tgen
+G0x0y4 ::G0x0y4(){ note_ctor("G0x0y4", this);} // tgen
+
+static void Test_G0x0y4()
+{
+ extern Class_Descriptor cd_G0x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x0y4, buf);
+ G0x0y4 *dp, &lv = *(dp=new (buf) G0x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y4)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(12,8), "G0x0y4");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(16,12), "G0x0y4");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(12,8), "G0x0y4");
+ check_base_class_offset(lv, (D1*)(E0x0*), 0, "G0x0y4");
+ check_base_class_offset(lv, (E0x0*), 0, "G0x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G0x0y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G0x0y4.ff");
+ test_class_info(&lv, &cd_G0x0y4);
+ dp->~G0x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y4(Test_G0x0y4, "G0x0y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y4C1Ev();
+extern void _ZN6G0x0y4D1Ev();
+Name_Map name_map_G0x0y4[] = {
+ NSPAIR(_ZN6G0x0y4C1Ev),
+ NSPAIR(_ZN6G0x0y4D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x0y4[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x0, 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(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 _ZTI6G0x0y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G0x0y4[];
+extern VTBL_ENTRY _ZTV6G0x0y4[];
+Class_Descriptor cd_G0x0y4 = { "G0x0y4", // class name
+ bases_G0x0y4, 6,
+ &(vtc_G0x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y4),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 G0x0y5 : virtual E0x0 , F0 {
+ int ff;
+ ~G0x0y5(); // tgen
+ G0x0y5(); // tgen
+};
+//SIG(1 G0x0y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x0y5 ::~G0x0y5(){ note_dtor("G0x0y5", this);} // tgen
+G0x0y5 ::G0x0y5(){ note_ctor("G0x0y5", this);} // tgen
+
+static void Test_G0x0y5()
+{
+ extern Class_Descriptor cd_G0x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x0y5, buf);
+ G0x0y5 *dp, &lv = *(dp=new (buf) G0x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y5)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(28,20), "G0x0y5");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(32,24), "G0x0y5");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(28,20), "G0x0y5");
+ check_base_class_offset(lv, (D1*)(E0x0*), ABISELECT(16,12), "G0x0y5");
+ check_base_class_offset(lv, (E0x0*), ABISELECT(16,12), "G0x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x0y5.ff");
+ test_class_info(&lv, &cd_G0x0y5);
+ dp->~G0x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y5(Test_G0x0y5, "G0x0y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y5C1Ev();
+extern void _ZN6G0x0y5D1Ev();
+Name_Map name_map_G0x0y5[] = {
+ NSPAIR(_ZN6G0x0y5C1Ev),
+ NSPAIR(_ZN6G0x0y5D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x0y5[] = {
+ // 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
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_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_E0x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G0x0y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y5[];
+static VTT_ENTRY vtt_G0x0y5[] = {
+ {&(_ZTV6G0x0y5[3]), 3,7},
+ {&(_ZTV6G0x0y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G0x0y5[];
+extern VTBL_ENTRY _ZTV6G0x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y5[];
+Class_Descriptor cd_G0x0y5 = { "G0x0y5", // class name
+ bases_G0x0y5, 6,
+ &(vtc_G0x0y5[0]), // expected_vtbl_contents
+ &(vtt_G0x0y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y5),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 G0x0y6 : E0x0 , virtual F0 {
+ int ff;
+ ~G0x0y6(); // tgen
+ G0x0y6(); // tgen
+};
+//SIG(1 G0x0y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x0y6 ::~G0x0y6(){ note_dtor("G0x0y6", this);} // tgen
+G0x0y6 ::G0x0y6(){ note_ctor("G0x0y6", this);} // tgen
+
+static void Test_G0x0y6()
+{
+ extern Class_Descriptor cd_G0x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x0y6, buf);
+ G0x0y6 *dp, &lv = *(dp=new (buf) G0x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y6)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(12,8), "G0x0y6");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(16,12), "G0x0y6");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(12,8), "G0x0y6");
+ check_base_class_offset(lv, (D1*)(E0x0*), 0, "G0x0y6");
+ check_base_class_offset(lv, (E0x0*), 0, "G0x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x0y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x0y6.ff");
+ test_class_info(&lv, &cd_G0x0y6);
+ dp->~G0x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y6(Test_G0x0y6, "G0x0y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y6C1Ev();
+extern void _ZN6G0x0y6D1Ev();
+Name_Map name_map_G0x0y6[] = {
+ NSPAIR(_ZN6G0x0y6C1Ev),
+ NSPAIR(_ZN6G0x0y6D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x0y6[] = {
+ // 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_E0x0, 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 _ZTI6G0x0y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x0y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y6[];
+static VTT_ENTRY vtt_G0x0y6[] = {
+ {&(_ZTV6G0x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x0y6[];
+extern VTBL_ENTRY _ZTV6G0x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y6[];
+Class_Descriptor cd_G0x0y6 = { "G0x0y6", // class name
+ bases_G0x0y6, 6,
+ &(vtc_G0x0y6[0]), // expected_vtbl_contents
+ &(vtt_G0x0y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y6),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 G0x0y7 : virtual E0x0 , virtual F0 {
+ int ff;
+ ~G0x0y7(); // tgen
+ G0x0y7(); // tgen
+};
+//SIG(1 G0x0y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x0y7 ::~G0x0y7(){ note_dtor("G0x0y7", this);} // tgen
+G0x0y7 ::G0x0y7(){ note_ctor("G0x0y7", this);} // tgen
+
+static void Test_G0x0y7()
+{
+ extern Class_Descriptor cd_G0x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x0y7, buf);
+ G0x0y7 *dp, &lv = *(dp=new (buf) G0x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x0y7)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x0*), ABISELECT(28,16), "G0x0y7");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x0*), ABISELECT(32,20), "G0x0y7");
+ check_base_class_offset(lv, (C0*)(E0x0*), ABISELECT(28,16), "G0x0y7");
+ check_base_class_offset(lv, (D1*)(E0x0*), ABISELECT(16,8), "G0x0y7");
+ check_base_class_offset(lv, (E0x0*), ABISELECT(16,8), "G0x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x0y7.ff");
+ test_class_info(&lv, &cd_G0x0y7);
+ dp->~G0x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x0y7(Test_G0x0y7, "G0x0y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x0y7C1Ev();
+extern void _ZN6G0x0y7D1Ev();
+Name_Map name_map_G0x0y7[] = {
+ NSPAIR(_ZN6G0x0y7C1Ev),
+ NSPAIR(_ZN6G0x0y7D1Ev),
+ {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_E0x0;
+extern VTBL_ENTRY _ZTI4E0x0[];
+extern VTBL_ENTRY _ZTV4E0x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x0y7[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E0x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G0x0y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x0y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x0y7[];
+static VTT_ENTRY vtt_G0x0y7[] = {
+ {&(_ZTV6G0x0y7[4]), 4,8},
+ {&(_ZTV6G0x0y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x0y7[];
+extern VTBL_ENTRY _ZTV6G0x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x0y7[];
+Class_Descriptor cd_G0x0y7 = { "G0x0y7", // class name
+ bases_G0x0y7, 6,
+ &(vtc_G0x0y7[0]), // expected_vtbl_contents
+ &(vtt_G0x0y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x0y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x0y7),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 E1x0 : C1 , D1 {
+ int fd;
+ ~E1x0(); // tgen
+ E1x0(); // tgen
+};
+//SIG(-1 E1x0) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E1x0 ::~E1x0(){ note_dtor("E1x0", this);} // tgen
+E1x0 ::E1x0(){ note_ctor("E1x0", this);} // tgen
+
+static void Test_E1x0()
+{
+ extern Class_Descriptor cd_E1x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x0, buf);
+ E1x0 *dp, &lv = *(dp=new (buf) E1x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x0)");
+ check_base_class_offset(lv, (A1*)(C1*), 0, "E1x0");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(12,8), "E1x0");
+ check_base_class_offset(lv, (C1*), 0, "E1x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E1x0");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E1x0.fd");
+ test_class_info(&lv, &cd_E1x0);
+ dp->~E1x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x0(Test_E1x0, "E1x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x0C1Ev();
+extern void _ZN4E1x0D1Ev();
+Name_Map name_map_E1x0[] = {
+ NSPAIR(_ZN4E1x0C1Ev),
+ NSPAIR(_ZN4E1x0D1Ev),
+ {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_E1x0[] = {
+ // 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
+ 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 _ZTI4E1x0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E1x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+Class_Descriptor cd_E1x0 = { "E1x0", // class name
+ bases_E1x0, 4,
+ &(vtc_E1x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x0),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 G1x0y0 : E1x0 , F1 {
+ int ff;
+ ~G1x0y0(); // tgen
+ G1x0y0(); // tgen
+};
+//SIG(1 G1x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x0y0 ::~G1x0y0(){ note_dtor("G1x0y0", this);} // tgen
+G1x0y0 ::G1x0y0(){ note_ctor("G1x0y0", this);} // tgen
+
+static void Test_G1x0y0()
+{
+ extern Class_Descriptor cd_G1x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x0y0, buf);
+ G1x0y0 *dp, &lv = *(dp=new (buf) G1x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y0)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), 0, "G1x0y0");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(12,8), "G1x0y0");
+ check_base_class_offset(lv, (C1*)(E1x0*), 0, "G1x0y0");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(24,16), "G1x0y0");
+ check_base_class_offset(lv, (E1x0*), 0, "G1x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G1x0y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G1x0y0.ff");
+ test_class_info(&lv, &cd_G1x0y0);
+ dp->~G1x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y0(Test_G1x0y0, "G1x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y0C1Ev();
+extern void _ZN6G1x0y0D1Ev();
+Name_Map name_map_G1x0y0[] = {
+ NSPAIR(_ZN6G1x0y0C1Ev),
+ NSPAIR(_ZN6G1x0y0D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x0y0[] = {
+ // 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
+ 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_E1x0, 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_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 _ZTI6G1x0y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G1x0y0[];
+extern VTBL_ENTRY _ZTV6G1x0y0[];
+Class_Descriptor cd_G1x0y0 = { "G1x0y0", // class name
+ bases_G1x0y0, 6,
+ &(vtc_G1x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y0),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 G1x0y1 : virtual E1x0 , F1 {
+ int ff;
+ ~G1x0y1(); // tgen
+ G1x0y1(); // tgen
+};
+//SIG(1 G1x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x0y1 ::~G1x0y1(){ note_dtor("G1x0y1", this);} // tgen
+G1x0y1 ::G1x0y1(){ note_ctor("G1x0y1", this);} // tgen
+
+static void Test_G1x0y1()
+{
+ extern Class_Descriptor cd_G1x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x0y1, buf);
+ G1x0y1 *dp, &lv = *(dp=new (buf) G1x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y1)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), ABISELECT(16,12), "G1x0y1");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(28,20), "G1x0y1");
+ check_base_class_offset(lv, (C1*)(E1x0*), ABISELECT(16,12), "G1x0y1");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(40,28), "G1x0y1");
+ check_base_class_offset(lv, (E1x0*), ABISELECT(16,12), "G1x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x0y1.ff");
+ test_class_info(&lv, &cd_G1x0y1);
+ dp->~G1x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y1(Test_G1x0y1, "G1x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y1C1Ev();
+extern void _ZN6G1x0y1D1Ev();
+Name_Map name_map_G1x0y1[] = {
+ NSPAIR(_ZN6G1x0y1C1Ev),
+ NSPAIR(_ZN6G1x0y1D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x0y1[] = {
+ // 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)
+ 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_E1x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G1x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y1[];
+static VTT_ENTRY vtt_G1x0y1[] = {
+ {&(_ZTV6G1x0y1[3]), 3,11},
+ {&(_ZTV6G1x0y1[7]), 7,11},
+ {&(_ZTV6G1x0y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x0y1[];
+extern VTBL_ENTRY _ZTV6G1x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y1[];
+Class_Descriptor cd_G1x0y1 = { "G1x0y1", // class name
+ bases_G1x0y1, 6,
+ &(vtc_G1x0y1[0]), // expected_vtbl_contents
+ &(vtt_G1x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y1),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 G1x0y2 : E1x0 , virtual F1 {
+ int ff;
+ ~G1x0y2(); // tgen
+ G1x0y2(); // tgen
+};
+//SIG(1 G1x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x0y2 ::~G1x0y2(){ note_dtor("G1x0y2", this);} // tgen
+G1x0y2 ::G1x0y2(){ note_ctor("G1x0y2", this);} // tgen
+
+static void Test_G1x0y2()
+{
+ extern Class_Descriptor cd_G1x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x0y2, buf);
+ G1x0y2 *dp, &lv = *(dp=new (buf) G1x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y2)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), 0, "G1x0y2");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(12,8), "G1x0y2");
+ check_base_class_offset(lv, (C1*)(E1x0*), 0, "G1x0y2");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(24,16), "G1x0y2");
+ check_base_class_offset(lv, (E1x0*), 0, "G1x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x0y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G1x0y2.ff");
+ test_class_info(&lv, &cd_G1x0y2);
+ dp->~G1x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y2(Test_G1x0y2, "G1x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y2C1Ev();
+extern void _ZN6G1x0y2D1Ev();
+Name_Map name_map_G1x0y2[] = {
+ NSPAIR(_ZN6G1x0y2C1Ev),
+ NSPAIR(_ZN6G1x0y2D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x0y2[] = {
+ // 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_E1x0, 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 _ZTI6G1x0y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x0y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y2[];
+static VTT_ENTRY vtt_G1x0y2[] = {
+ {&(_ZTV6G1x0y2[3]), 3,11},
+ {&(_ZTV6G1x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x0y2[];
+extern VTBL_ENTRY _ZTV6G1x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y2[];
+Class_Descriptor cd_G1x0y2 = { "G1x0y2", // class name
+ bases_G1x0y2, 6,
+ &(vtc_G1x0y2[0]), // expected_vtbl_contents
+ &(vtt_G1x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y2),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 G1x0y3 : virtual E1x0 , virtual F1 {
+ int ff;
+ ~G1x0y3(); // tgen
+ G1x0y3(); // tgen
+};
+//SIG(1 G1x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x0y3 ::~G1x0y3(){ note_dtor("G1x0y3", this);} // tgen
+G1x0y3 ::G1x0y3(){ note_ctor("G1x0y3", this);} // tgen
+
+static void Test_G1x0y3()
+{
+ extern Class_Descriptor cd_G1x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x0y3, buf);
+ G1x0y3 *dp, &lv = *(dp=new (buf) G1x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y3)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), ABISELECT(16,8), "G1x0y3");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(28,16), "G1x0y3");
+ check_base_class_offset(lv, (C1*)(E1x0*), ABISELECT(16,8), "G1x0y3");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(40,24), "G1x0y3");
+ check_base_class_offset(lv, (E1x0*), ABISELECT(16,8), "G1x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x0y3.ff");
+ test_class_info(&lv, &cd_G1x0y3);
+ dp->~G1x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y3(Test_G1x0y3, "G1x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y3C1Ev();
+extern void _ZN6G1x0y3D1Ev();
+Name_Map name_map_G1x0y3[] = {
+ NSPAIR(_ZN6G1x0y3C1Ev),
+ NSPAIR(_ZN6G1x0y3D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x0y3[] = {
+ // 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)
+ 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_E1x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G1x0y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y3[];
+static VTT_ENTRY vtt_G1x0y3[] = {
+ {&(_ZTV6G1x0y3[4]), 4,15},
+ {&(_ZTV6G1x0y3[7]), 7,15},
+ {&(_ZTV6G1x0y3[10]), 10,15},
+ {&(_ZTV6G1x0y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G1x0y3[];
+extern VTBL_ENTRY _ZTV6G1x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y3[];
+Class_Descriptor cd_G1x0y3 = { "G1x0y3", // class name
+ bases_G1x0y3, 6,
+ &(vtc_G1x0y3[0]), // expected_vtbl_contents
+ &(vtt_G1x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y3),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 G1x0y4 : E1x0 , F0 {
+ int ff;
+ ~G1x0y4(); // tgen
+ G1x0y4(); // tgen
+};
+//SIG(1 G1x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x0y4 ::~G1x0y4(){ note_dtor("G1x0y4", this);} // tgen
+G1x0y4 ::G1x0y4(){ note_ctor("G1x0y4", this);} // tgen
+
+static void Test_G1x0y4()
+{
+ extern Class_Descriptor cd_G1x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x0y4, buf);
+ G1x0y4 *dp, &lv = *(dp=new (buf) G1x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y4)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), 0, "G1x0y4");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(12,8), "G1x0y4");
+ check_base_class_offset(lv, (C1*)(E1x0*), 0, "G1x0y4");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(24,16), "G1x0y4");
+ check_base_class_offset(lv, (E1x0*), 0, "G1x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G1x0y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G1x0y4.ff");
+ test_class_info(&lv, &cd_G1x0y4);
+ dp->~G1x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y4(Test_G1x0y4, "G1x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y4C1Ev();
+extern void _ZN6G1x0y4D1Ev();
+Name_Map name_map_G1x0y4[] = {
+ NSPAIR(_ZN6G1x0y4C1Ev),
+ NSPAIR(_ZN6G1x0y4D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x0y4[] = {
+ // 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
+ 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_E1x0, 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(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 _ZTI6G1x0y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G1x0y4[];
+extern VTBL_ENTRY _ZTV6G1x0y4[];
+Class_Descriptor cd_G1x0y4 = { "G1x0y4", // class name
+ bases_G1x0y4, 6,
+ &(vtc_G1x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y4),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 G1x0y5 : virtual E1x0 , F0 {
+ int ff;
+ ~G1x0y5(); // tgen
+ G1x0y5(); // tgen
+};
+//SIG(1 G1x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x0y5 ::~G1x0y5(){ note_dtor("G1x0y5", this);} // tgen
+G1x0y5 ::G1x0y5(){ note_ctor("G1x0y5", this);} // tgen
+
+static void Test_G1x0y5()
+{
+ extern Class_Descriptor cd_G1x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x0y5, buf);
+ G1x0y5 *dp, &lv = *(dp=new (buf) G1x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y5)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), ABISELECT(16,12), "G1x0y5");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(28,20), "G1x0y5");
+ check_base_class_offset(lv, (C1*)(E1x0*), ABISELECT(16,12), "G1x0y5");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(40,28), "G1x0y5");
+ check_base_class_offset(lv, (E1x0*), ABISELECT(16,12), "G1x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x0y5.ff");
+ test_class_info(&lv, &cd_G1x0y5);
+ dp->~G1x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y5(Test_G1x0y5, "G1x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y5C1Ev();
+extern void _ZN6G1x0y5D1Ev();
+Name_Map name_map_G1x0y5[] = {
+ NSPAIR(_ZN6G1x0y5C1Ev),
+ NSPAIR(_ZN6G1x0y5D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x0y5[] = {
+ // 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)
+ 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_E1x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G1x0y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y5[];
+static VTT_ENTRY vtt_G1x0y5[] = {
+ {&(_ZTV6G1x0y5[3]), 3,10},
+ {&(_ZTV6G1x0y5[6]), 6,10},
+ {&(_ZTV6G1x0y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G1x0y5[];
+extern VTBL_ENTRY _ZTV6G1x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y5[];
+Class_Descriptor cd_G1x0y5 = { "G1x0y5", // class name
+ bases_G1x0y5, 6,
+ &(vtc_G1x0y5[0]), // expected_vtbl_contents
+ &(vtt_G1x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y5),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 G1x0y6 : E1x0 , virtual F0 {
+ int ff;
+ ~G1x0y6(); // tgen
+ G1x0y6(); // tgen
+};
+//SIG(1 G1x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x0y6 ::~G1x0y6(){ note_dtor("G1x0y6", this);} // tgen
+G1x0y6 ::G1x0y6(){ note_ctor("G1x0y6", this);} // tgen
+
+static void Test_G1x0y6()
+{
+ extern Class_Descriptor cd_G1x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x0y6, buf);
+ G1x0y6 *dp, &lv = *(dp=new (buf) G1x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y6)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), 0, "G1x0y6");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(12,8), "G1x0y6");
+ check_base_class_offset(lv, (C1*)(E1x0*), 0, "G1x0y6");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(24,16), "G1x0y6");
+ check_base_class_offset(lv, (E1x0*), 0, "G1x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x0y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G1x0y6.ff");
+ test_class_info(&lv, &cd_G1x0y6);
+ dp->~G1x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y6(Test_G1x0y6, "G1x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y6C1Ev();
+extern void _ZN6G1x0y6D1Ev();
+Name_Map name_map_G1x0y6[] = {
+ NSPAIR(_ZN6G1x0y6C1Ev),
+ NSPAIR(_ZN6G1x0y6D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x0y6[] = {
+ // 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_E1x0, 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 _ZTI6G1x0y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x0y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y6[];
+static VTT_ENTRY vtt_G1x0y6[] = {
+ {&(_ZTV6G1x0y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI6G1x0y6[];
+extern VTBL_ENTRY _ZTV6G1x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y6[];
+Class_Descriptor cd_G1x0y6 = { "G1x0y6", // class name
+ bases_G1x0y6, 6,
+ &(vtc_G1x0y6[0]), // expected_vtbl_contents
+ &(vtt_G1x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y6),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 G1x0y7 : virtual E1x0 , virtual F0 {
+ int ff;
+ ~G1x0y7(); // tgen
+ G1x0y7(); // tgen
+};
+//SIG(1 G1x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x0y7 ::~G1x0y7(){ note_dtor("G1x0y7", this);} // tgen
+G1x0y7 ::G1x0y7(){ note_ctor("G1x0y7", this);} // tgen
+
+static void Test_G1x0y7()
+{
+ extern Class_Descriptor cd_G1x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x0y7, buf);
+ G1x0y7 *dp, &lv = *(dp=new (buf) G1x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x0y7)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x0*), ABISELECT(16,8), "G1x0y7");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x0*), ABISELECT(28,16), "G1x0y7");
+ check_base_class_offset(lv, (C1*)(E1x0*), ABISELECT(16,8), "G1x0y7");
+ check_base_class_offset(lv, (D1*)(E1x0*), ABISELECT(40,24), "G1x0y7");
+ check_base_class_offset(lv, (E1x0*), ABISELECT(16,8), "G1x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G1x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x0y7.ff");
+ test_class_info(&lv, &cd_G1x0y7);
+ dp->~G1x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x0y7(Test_G1x0y7, "G1x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x0y7C1Ev();
+extern void _ZN6G1x0y7D1Ev();
+Name_Map name_map_G1x0y7[] = {
+ NSPAIR(_ZN6G1x0y7C1Ev),
+ NSPAIR(_ZN6G1x0y7D1Ev),
+ {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_E1x0;
+extern VTBL_ENTRY _ZTI4E1x0[];
+extern VTBL_ENTRY _ZTV4E1x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x0y7[] = {
+ // 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)
+ 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_E1x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G1x0y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x0y7[];
+static VTT_ENTRY vtt_G1x0y7[] = {
+ {&(_ZTV6G1x0y7[4]), 4,11},
+ {&(_ZTV6G1x0y7[7]), 7,11},
+ {&(_ZTV6G1x0y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x0y7[];
+extern VTBL_ENTRY _ZTV6G1x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x0y7[];
+Class_Descriptor cd_G1x0y7 = { "G1x0y7", // class name
+ bases_G1x0y7, 6,
+ &(vtc_G1x0y7[0]), // expected_vtbl_contents
+ &(vtt_G1x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x0y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x0y7),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 E2x0 : C2 , D1 {
+ int fd;
+ ~E2x0(); // tgen
+ E2x0(); // tgen
+};
+//SIG(-1 E2x0) C1{ BC2{ VBC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E2x0 ::~E2x0(){ note_dtor("E2x0", this);} // tgen
+E2x0 ::E2x0(){ note_ctor("E2x0", this);} // tgen
+
+static void Test_E2x0()
+{
+ extern Class_Descriptor cd_E2x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x0, buf);
+ E2x0 *dp, &lv = *(dp=new (buf) E2x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x0)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "E2x0");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(8,4), "E2x0");
+ check_base_class_offset(lv, (C2*), 0, "E2x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E2x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E2x0.fd");
+ test_class_info(&lv, &cd_E2x0);
+ dp->~E2x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x0(Test_E2x0, "E2x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x0C1Ev();
+extern void _ZN4E2x0D1Ev();
+Name_Map name_map_E2x0[] = {
+ NSPAIR(_ZN4E2x0C1Ev),
+ NSPAIR(_ZN4E2x0D1Ev),
+ {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_E2x0[] = {
+ // 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
+ 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 _ZTI4E2x0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E2x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E2x0[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x0[] = {
+ {&(_ZTV4E2x0[3]), 3,6},
+ {&(_tg__ZTV2C2__4E2x0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+Class_Descriptor cd_E2x0 = { "E2x0", // class name
+ bases_E2x0, 4,
+ &(vtc_E2x0[0]), // expected_vtbl_contents
+ &(vtt_E2x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x0),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 G2x0y0 : E2x0 , F1 {
+ int ff;
+ ~G2x0y0(); // tgen
+ G2x0y0(); // tgen
+};
+//SIG(1 G2x0y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x0y0 ::~G2x0y0(){ note_dtor("G2x0y0", this);} // tgen
+G2x0y0 ::G2x0y0(){ note_ctor("G2x0y0", this);} // tgen
+
+static void Test_G2x0y0()
+{
+ extern Class_Descriptor cd_G2x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x0y0, buf);
+ G2x0y0 *dp, &lv = *(dp=new (buf) G2x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y0)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(48,36), "G2x0y0");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(8,4), "G2x0y0");
+ check_base_class_offset(lv, (C2*)(E2x0*), 0, "G2x0y0");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(16,12), "G2x0y0");
+ check_base_class_offset(lv, (E2x0*), 0, "G2x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G2x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G2x0y0.ff");
+ test_class_info(&lv, &cd_G2x0y0);
+ dp->~G2x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y0(Test_G2x0y0, "G2x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y0C1Ev();
+extern void _ZN6G2x0y0D1Ev();
+Name_Map name_map_G2x0y0[] = {
+ NSPAIR(_ZN6G2x0y0C1Ev),
+ NSPAIR(_ZN6G2x0y0D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x0y0[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x0, 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
+ 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 _ZTI6G2x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y0[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y0[] = {
+ {&(_ZTV6G2x0y0[3]), 3,9},
+ {&(_tg__ZTV4E2x0__6G2x0y0[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y0[];
+extern VTBL_ENTRY _ZTV6G2x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y0[];
+Class_Descriptor cd_G2x0y0 = { "G2x0y0", // class name
+ bases_G2x0y0, 6,
+ &(vtc_G2x0y0[0]), // expected_vtbl_contents
+ &(vtt_G2x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y0),9, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y0),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 G2x0y1 : virtual E2x0 , F1 {
+ int ff;
+ ~G2x0y1(); // tgen
+ G2x0y1(); // tgen
+};
+//SIG(1 G2x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x0y1 ::~G2x0y1(){ note_dtor("G2x0y1", this);} // tgen
+G2x0y1 ::G2x0y1(){ note_ctor("G2x0y1", this);} // tgen
+
+static void Test_G2x0y1()
+{
+ extern Class_Descriptor cd_G2x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x0y1, buf);
+ G2x0y1 *dp, &lv = *(dp=new (buf) G2x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y1)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(48,36), "G2x0y1");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(24,16), "G2x0y1");
+ check_base_class_offset(lv, (C2*)(E2x0*), ABISELECT(16,12), "G2x0y1");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(32,24), "G2x0y1");
+ check_base_class_offset(lv, (E2x0*), ABISELECT(16,12), "G2x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x0y1.ff");
+ test_class_info(&lv, &cd_G2x0y1);
+ dp->~G2x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y1(Test_G2x0y1, "G2x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y1C1Ev();
+extern void _ZN6G2x0y1D1Ev();
+Name_Map name_map_G2x0y1[] = {
+ NSPAIR(_ZN6G2x0y1C1Ev),
+ NSPAIR(_ZN6G2x0y1D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x0y1[] = {
+ // 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_E2x0, 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 _ZTI6G2x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y1[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y1[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y1[] = {
+ {&(_ZTV6G2x0y1[4]), 4,12},
+ {&(_ZTV6G2x0y1[9]), 9,12},
+ {&(_ZTV6G2x0y1[11]), 11,12},
+ {&(_tg__ZTV4E2x0__6G2x0y1[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y1[];
+extern VTBL_ENTRY _ZTV6G2x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y1[];
+Class_Descriptor cd_G2x0y1 = { "G2x0y1", // class name
+ bases_G2x0y1, 6,
+ &(vtc_G2x0y1[0]), // expected_vtbl_contents
+ &(vtt_G2x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y1),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 G2x0y2 : E2x0 , virtual F1 {
+ int ff;
+ ~G2x0y2(); // tgen
+ G2x0y2(); // tgen
+};
+//SIG(1 G2x0y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x0y2 ::~G2x0y2(){ note_dtor("G2x0y2", this);} // tgen
+G2x0y2 ::G2x0y2(){ note_ctor("G2x0y2", this);} // tgen
+
+static void Test_G2x0y2()
+{
+ extern Class_Descriptor cd_G2x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x0y2, buf);
+ G2x0y2 *dp, &lv = *(dp=new (buf) G2x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y2)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(36,28), "G2x0y2");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(8,4), "G2x0y2");
+ check_base_class_offset(lv, (C2*)(E2x0*), 0, "G2x0y2");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(16,12), "G2x0y2");
+ check_base_class_offset(lv, (E2x0*), 0, "G2x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G2x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G2x0y2.ff");
+ test_class_info(&lv, &cd_G2x0y2);
+ dp->~G2x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y2(Test_G2x0y2, "G2x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y2C1Ev();
+extern void _ZN6G2x0y2D1Ev();
+Name_Map name_map_G2x0y2[] = {
+ NSPAIR(_ZN6G2x0y2C1Ev),
+ NSPAIR(_ZN6G2x0y2D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x0y2[] = {
+ // 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
+ 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_E2x0, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y2[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y2[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y2[] = {
+ {&(_ZTV6G2x0y2[4]), 4,11},
+ {&(_tg__ZTV4E2x0__6G2x0y2[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y2[3]), 3,3},
+ {&(_ZTV6G2x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G2x0y2[];
+extern VTBL_ENTRY _ZTV6G2x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y2[];
+Class_Descriptor cd_G2x0y2 = { "G2x0y2", // class name
+ bases_G2x0y2, 6,
+ &(vtc_G2x0y2[0]), // expected_vtbl_contents
+ &(vtt_G2x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y2),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y2),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 G2x0y3 : virtual E2x0 , virtual F1 {
+ int ff;
+ ~G2x0y3(); // tgen
+ G2x0y3(); // tgen
+};
+//SIG(1 G2x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x0y3 ::~G2x0y3(){ note_dtor("G2x0y3", this);} // tgen
+G2x0y3 ::G2x0y3(){ note_ctor("G2x0y3", this);} // tgen
+
+static void Test_G2x0y3()
+{
+ extern Class_Descriptor cd_G2x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x0y3, buf);
+ G2x0y3 *dp, &lv = *(dp=new (buf) G2x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y3)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(48,32), "G2x0y3");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(24,12), "G2x0y3");
+ check_base_class_offset(lv, (C2*)(E2x0*), ABISELECT(16,8), "G2x0y3");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(32,20), "G2x0y3");
+ check_base_class_offset(lv, (E2x0*), ABISELECT(16,8), "G2x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x0y3.ff");
+ test_class_info(&lv, &cd_G2x0y3);
+ dp->~G2x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y3(Test_G2x0y3, "G2x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y3C1Ev();
+extern void _ZN6G2x0y3D1Ev();
+Name_Map name_map_G2x0y3[] = {
+ NSPAIR(_ZN6G2x0y3C1Ev),
+ NSPAIR(_ZN6G2x0y3D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x0y3[] = {
+ // 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
+ 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_E2x0, 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
+ 12, //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 _ZTI6G2x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x0y3[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y3[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y3[] = {
+ {&(_ZTV6G2x0y3[5]), 5,16},
+ {&(_ZTV6G2x0y3[9]), 9,16},
+ {&(_ZTV6G2x0y3[11]), 11,16},
+ {&(_ZTV6G2x0y3[15]), 15,16},
+ {&(_tg__ZTV4E2x0__6G2x0y3[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y3[];
+extern VTBL_ENTRY _ZTV6G2x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y3[];
+Class_Descriptor cd_G2x0y3 = { "G2x0y3", // class name
+ bases_G2x0y3, 6,
+ &(vtc_G2x0y3[0]), // expected_vtbl_contents
+ &(vtt_G2x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y3),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 G2x0y4 : E2x0 , F0 {
+ int ff;
+ ~G2x0y4(); // tgen
+ G2x0y4(); // tgen
+};
+//SIG(1 G2x0y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x0y4 ::~G2x0y4(){ note_dtor("G2x0y4", this);} // tgen
+G2x0y4 ::G2x0y4(){ note_ctor("G2x0y4", this);} // tgen
+
+static void Test_G2x0y4()
+{
+ extern Class_Descriptor cd_G2x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x0y4, buf);
+ G2x0y4 *dp, &lv = *(dp=new (buf) G2x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y4)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(40,32), "G2x0y4");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(8,4), "G2x0y4");
+ check_base_class_offset(lv, (C2*)(E2x0*), 0, "G2x0y4");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(16,12), "G2x0y4");
+ check_base_class_offset(lv, (E2x0*), 0, "G2x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G2x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G2x0y4.ff");
+ test_class_info(&lv, &cd_G2x0y4);
+ dp->~G2x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y4(Test_G2x0y4, "G2x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y4C1Ev();
+extern void _ZN6G2x0y4D1Ev();
+Name_Map name_map_G2x0y4[] = {
+ NSPAIR(_ZN6G2x0y4C1Ev),
+ NSPAIR(_ZN6G2x0y4D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x0y4[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x0, 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 _ZTI6G2x0y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y4[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y4[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y4[] = {
+ {&(_ZTV6G2x0y4[3]), 3,6},
+ {&(_tg__ZTV4E2x0__6G2x0y4[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y4[];
+extern VTBL_ENTRY _ZTV6G2x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y4[];
+Class_Descriptor cd_G2x0y4 = { "G2x0y4", // class name
+ bases_G2x0y4, 6,
+ &(vtc_G2x0y4[0]), // expected_vtbl_contents
+ &(vtt_G2x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y4),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y4),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 G2x0y5 : virtual E2x0 , F0 {
+ int ff;
+ ~G2x0y5(); // tgen
+ G2x0y5(); // tgen
+};
+//SIG(1 G2x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x0y5 ::~G2x0y5(){ note_dtor("G2x0y5", this);} // tgen
+G2x0y5 ::G2x0y5(){ note_ctor("G2x0y5", this);} // tgen
+
+static void Test_G2x0y5()
+{
+ extern Class_Descriptor cd_G2x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x0y5, buf);
+ G2x0y5 *dp, &lv = *(dp=new (buf) G2x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y5)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(48,36), "G2x0y5");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(24,16), "G2x0y5");
+ check_base_class_offset(lv, (C2*)(E2x0*), ABISELECT(16,12), "G2x0y5");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(32,24), "G2x0y5");
+ check_base_class_offset(lv, (E2x0*), ABISELECT(16,12), "G2x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x0y5.ff");
+ test_class_info(&lv, &cd_G2x0y5);
+ dp->~G2x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y5(Test_G2x0y5, "G2x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y5C1Ev();
+extern void _ZN6G2x0y5D1Ev();
+Name_Map name_map_G2x0y5[] = {
+ NSPAIR(_ZN6G2x0y5C1Ev),
+ NSPAIR(_ZN6G2x0y5D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x0y5[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x0, 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 _ZTI6G2x0y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y5[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y5[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y5[] = {
+ {&(_ZTV6G2x0y5[4]), 4,11},
+ {&(_ZTV6G2x0y5[8]), 8,11},
+ {&(_ZTV6G2x0y5[10]), 10,11},
+ {&(_tg__ZTV4E2x0__6G2x0y5[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y5[];
+extern VTBL_ENTRY _ZTV6G2x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y5[];
+Class_Descriptor cd_G2x0y5 = { "G2x0y5", // class name
+ bases_G2x0y5, 6,
+ &(vtc_G2x0y5[0]), // expected_vtbl_contents
+ &(vtt_G2x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y5),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 G2x0y6 : E2x0 , virtual F0 {
+ int ff;
+ ~G2x0y6(); // tgen
+ G2x0y6(); // tgen
+};
+//SIG(1 G2x0y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x0y6 ::~G2x0y6(){ note_dtor("G2x0y6", this);} // tgen
+G2x0y6 ::G2x0y6(){ note_ctor("G2x0y6", this);} // tgen
+
+static void Test_G2x0y6()
+{
+ extern Class_Descriptor cd_G2x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x0y6, buf);
+ G2x0y6 *dp, &lv = *(dp=new (buf) G2x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y6)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(36,28), "G2x0y6");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(8,4), "G2x0y6");
+ check_base_class_offset(lv, (C2*)(E2x0*), 0, "G2x0y6");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(16,12), "G2x0y6");
+ check_base_class_offset(lv, (E2x0*), 0, "G2x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G2x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G2x0y6.ff");
+ test_class_info(&lv, &cd_G2x0y6);
+ dp->~G2x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y6(Test_G2x0y6, "G2x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y6C1Ev();
+extern void _ZN6G2x0y6D1Ev();
+Name_Map name_map_G2x0y6[] = {
+ NSPAIR(_ZN6G2x0y6C1Ev),
+ NSPAIR(_ZN6G2x0y6D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x0y6[] = {
+ // 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
+ 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_E2x0, 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 _ZTI6G2x0y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y6[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y6[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y6[] = {
+ {&(_ZTV6G2x0y6[4]), 4,7},
+ {&(_tg__ZTV4E2x0__6G2x0y6[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y6[];
+extern VTBL_ENTRY _ZTV6G2x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y6[];
+Class_Descriptor cd_G2x0y6 = { "G2x0y6", // class name
+ bases_G2x0y6, 6,
+ &(vtc_G2x0y6[0]), // expected_vtbl_contents
+ &(vtt_G2x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y6),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y6),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 G2x0y7 : virtual E2x0 , virtual F0 {
+ int ff;
+ ~G2x0y7(); // tgen
+ G2x0y7(); // tgen
+};
+//SIG(1 G2x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x0y7 ::~G2x0y7(){ note_dtor("G2x0y7", this);} // tgen
+G2x0y7 ::G2x0y7(){ note_ctor("G2x0y7", this);} // tgen
+
+static void Test_G2x0y7()
+{
+ extern Class_Descriptor cd_G2x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x0y7, buf);
+ G2x0y7 *dp, &lv = *(dp=new (buf) G2x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x0y7)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x0*), ABISELECT(48,32), "G2x0y7");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x0*), ABISELECT(24,12), "G2x0y7");
+ check_base_class_offset(lv, (C2*)(E2x0*), ABISELECT(16,8), "G2x0y7");
+ check_base_class_offset(lv, (D1*)(E2x0*), ABISELECT(32,20), "G2x0y7");
+ check_base_class_offset(lv, (E2x0*), ABISELECT(16,8), "G2x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x0y7.ff");
+ test_class_info(&lv, &cd_G2x0y7);
+ dp->~G2x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x0y7(Test_G2x0y7, "G2x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x0y7C1Ev();
+extern void _ZN6G2x0y7D1Ev();
+Name_Map name_map_G2x0y7[] = {
+ NSPAIR(_ZN6G2x0y7C1Ev),
+ NSPAIR(_ZN6G2x0y7D1Ev),
+ {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_E2x0;
+extern VTBL_ENTRY _ZTI4E2x0[];
+extern VTBL_ENTRY _ZTV4E2x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x0y7[] = {
+ // 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
+ 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_E2x0, 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 _ZTI6G2x0y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x0y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x0y7[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x0y7[];
+static VTBL_ENTRY _tg__ZTV4E2x0__6G2x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x0__6G2x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x0y7[] = {
+ {&(_ZTV6G2x0y7[5]), 5,12},
+ {&(_ZTV6G2x0y7[9]), 9,12},
+ {&(_ZTV6G2x0y7[11]), 11,12},
+ {&(_tg__ZTV4E2x0__6G2x0y7[3]), 3,3},
+ {&(_tg__ZTV2C24E2x0__6G2x0y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x0y7[];
+extern VTBL_ENTRY _ZTV6G2x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x0y7[];
+Class_Descriptor cd_G2x0y7 = { "G2x0y7", // class name
+ bases_G2x0y7, 6,
+ &(vtc_G2x0y7[0]), // expected_vtbl_contents
+ &(vtt_G2x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x0y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x0y7),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 E3x0 : C3 , D1 {
+ int fd;
+ ~E3x0(); // tgen
+ E3x0(); // tgen
+};
+//SIG(-1 E3x0) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E3x0 ::~E3x0(){ note_dtor("E3x0", this);} // tgen
+E3x0 ::E3x0(){ note_ctor("E3x0", this);} // tgen
+
+static void Test_E3x0()
+{
+ extern Class_Descriptor cd_E3x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E3x0, buf);
+ E3x0 *dp, &lv = *(dp=new (buf) E3x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E3x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x0)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "E3x0");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(8,4), "E3x0");
+ check_base_class_offset(lv, (C3*), 0, "E3x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E3x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E3x0.fd");
+ test_class_info(&lv, &cd_E3x0);
+ dp->~E3x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x0(Test_E3x0, "E3x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x0C1Ev();
+extern void _ZN4E3x0D1Ev();
+Name_Map name_map_E3x0[] = {
+ NSPAIR(_ZN4E3x0C1Ev),
+ NSPAIR(_ZN4E3x0D1Ev),
+ {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_E3x0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 6, //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
+ 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 _ZTI4E3x0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x0[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x0[] = {
+ {&(_ZTV4E3x0[3]), 3,10},
+ {&(_tg__ZTV2C3__4E3x0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x0[3]), 3,4},
+ {&(_ZTV4E3x0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+Class_Descriptor cd_E3x0 = { "E3x0", // class name
+ bases_E3x0, 4,
+ &(vtc_E3x0[0]), // expected_vtbl_contents
+ &(vtt_E3x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E3x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x0),4, //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 G3x0y0 : E3x0 , F1 {
+ int ff;
+ ~G3x0y0(); // tgen
+ G3x0y0(); // tgen
+};
+//SIG(1 G3x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x0y0 ::~G3x0y0(){ note_dtor("G3x0y0", this);} // tgen
+G3x0y0 ::G3x0y0(){ note_ctor("G3x0y0", this);} // tgen
+
+static void Test_G3x0y0()
+{
+ extern Class_Descriptor cd_G3x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x0y0, buf);
+ G3x0y0 *dp, &lv = *(dp=new (buf) G3x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y0)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(48,36), "G3x0y0");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(8,4), "G3x0y0");
+ check_base_class_offset(lv, (C3*)(E3x0*), 0, "G3x0y0");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(16,12), "G3x0y0");
+ check_base_class_offset(lv, (E3x0*), 0, "G3x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G3x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G3x0y0.ff");
+ test_class_info(&lv, &cd_G3x0y0);
+ dp->~G3x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y0(Test_G3x0y0, "G3x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y0C1Ev();
+extern void _ZN6G3x0y0D1Ev();
+Name_Map name_map_G3x0y0[] = {
+ NSPAIR(_ZN6G3x0y0C1Ev),
+ NSPAIR(_ZN6G3x0y0D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x0y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //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(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
+ 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_E3x0, 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
+ 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 _ZTI6G3x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y0[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y0[] = {
+ {&(_ZTV6G3x0y0[3]), 3,13},
+ {&(_tg__ZTV4E3x0__6G3x0y0[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y0[3]), 3,4},
+ {&(_ZTV6G3x0y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G3x0y0[];
+extern VTBL_ENTRY _ZTV6G3x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y0[];
+Class_Descriptor cd_G3x0y0 = { "G3x0y0", // class name
+ bases_G3x0y0, 6,
+ &(vtc_G3x0y0[0]), // expected_vtbl_contents
+ &(vtt_G3x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y0),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y0),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 G3x0y1 : virtual E3x0 , F1 {
+ int ff;
+ ~G3x0y1(); // tgen
+ G3x0y1(); // tgen
+};
+//SIG(1 G3x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x0y1 ::~G3x0y1(){ note_dtor("G3x0y1", this);} // tgen
+G3x0y1 ::G3x0y1(){ note_ctor("G3x0y1", this);} // tgen
+
+static void Test_G3x0y1()
+{
+ extern Class_Descriptor cd_G3x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x0y1, buf);
+ G3x0y1 *dp, &lv = *(dp=new (buf) G3x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y1)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(48,36), "G3x0y1");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(24,16), "G3x0y1");
+ check_base_class_offset(lv, (C3*)(E3x0*), ABISELECT(16,12), "G3x0y1");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(32,24), "G3x0y1");
+ check_base_class_offset(lv, (E3x0*), ABISELECT(16,12), "G3x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x0y1.ff");
+ test_class_info(&lv, &cd_G3x0y1);
+ dp->~G3x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y1(Test_G3x0y1, "G3x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y1C1Ev();
+extern void _ZN6G3x0y1D1Ev();
+Name_Map name_map_G3x0y1[] = {
+ NSPAIR(_ZN6G3x0y1C1Ev),
+ NSPAIR(_ZN6G3x0y1D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x0y1[] = {
+ // 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_E3x0, 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 _ZTI6G3x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y1[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y1[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y1[] = {
+ {&(_ZTV6G3x0y1[4]), 4,16},
+ {&(_ZTV6G3x0y1[9]), 9,16},
+ {&(_ZTV6G3x0y1[15]), 15,16},
+ {&(_ZTV6G3x0y1[11]), 11,16},
+ {&(_tg__ZTV4E3x0__6G3x0y1[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x0y1[];
+extern VTBL_ENTRY _ZTV6G3x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y1[];
+Class_Descriptor cd_G3x0y1 = { "G3x0y1", // class name
+ bases_G3x0y1, 6,
+ &(vtc_G3x0y1[0]), // expected_vtbl_contents
+ &(vtt_G3x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y1),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y1),8, //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 G3x0y2 : E3x0 , virtual F1 {
+ int ff;
+ ~G3x0y2(); // tgen
+ G3x0y2(); // tgen
+};
+//SIG(1 G3x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x0y2 ::~G3x0y2(){ note_dtor("G3x0y2", this);} // tgen
+G3x0y2 ::G3x0y2(){ note_ctor("G3x0y2", this);} // tgen
+
+static void Test_G3x0y2()
+{
+ extern Class_Descriptor cd_G3x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x0y2, buf);
+ G3x0y2 *dp, &lv = *(dp=new (buf) G3x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y2)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(40,28), "G3x0y2");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(8,4), "G3x0y2");
+ check_base_class_offset(lv, (C3*)(E3x0*), 0, "G3x0y2");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(16,12), "G3x0y2");
+ check_base_class_offset(lv, (E3x0*), 0, "G3x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G3x0y2.ff");
+ test_class_info(&lv, &cd_G3x0y2);
+ dp->~G3x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y2(Test_G3x0y2, "G3x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y2C1Ev();
+extern void _ZN6G3x0y2D1Ev();
+Name_Map name_map_G3x0y2[] = {
+ NSPAIR(_ZN6G3x0y2C1Ev),
+ NSPAIR(_ZN6G3x0y2D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x0y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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
+ 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_E3x0, 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
+ 11, //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 _ZTI6G3x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y2[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y2[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y2[] = {
+ {&(_ZTV6G3x0y2[4]), 4,15},
+ {&(_tg__ZTV4E3x0__6G3x0y2[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y2[3]), 3,4},
+ {&(_ZTV6G3x0y2[10]), 10,15},
+ {&(_ZTV6G3x0y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G3x0y2[];
+extern VTBL_ENTRY _ZTV6G3x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y2[];
+Class_Descriptor cd_G3x0y2 = { "G3x0y2", // class name
+ bases_G3x0y2, 6,
+ &(vtc_G3x0y2[0]), // expected_vtbl_contents
+ &(vtt_G3x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y2),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y2),7, //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 G3x0y3 : virtual E3x0 , virtual F1 {
+ int ff;
+ ~G3x0y3(); // tgen
+ G3x0y3(); // tgen
+};
+//SIG(1 G3x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x0y3 ::~G3x0y3(){ note_dtor("G3x0y3", this);} // tgen
+G3x0y3 ::G3x0y3(){ note_ctor("G3x0y3", this);} // tgen
+
+static void Test_G3x0y3()
+{
+ extern Class_Descriptor cd_G3x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x0y3, buf);
+ G3x0y3 *dp, &lv = *(dp=new (buf) G3x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y3)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(48,32), "G3x0y3");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(24,12), "G3x0y3");
+ check_base_class_offset(lv, (C3*)(E3x0*), ABISELECT(16,8), "G3x0y3");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(32,20), "G3x0y3");
+ check_base_class_offset(lv, (E3x0*), ABISELECT(16,8), "G3x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x0y3.ff");
+ test_class_info(&lv, &cd_G3x0y3);
+ dp->~G3x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y3(Test_G3x0y3, "G3x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y3C1Ev();
+extern void _ZN6G3x0y3D1Ev();
+Name_Map name_map_G3x0y3[] = {
+ NSPAIR(_ZN6G3x0y3C1Ev),
+ NSPAIR(_ZN6G3x0y3D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x0y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //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,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
+ 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_E3x0, 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
+ 16, //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 _ZTI6G3x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x0y3[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y3[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y3[] = {
+ {&(_ZTV6G3x0y3[5]), 5,20},
+ {&(_ZTV6G3x0y3[9]), 9,20},
+ {&(_ZTV6G3x0y3[15]), 15,20},
+ {&(_ZTV6G3x0y3[11]), 11,20},
+ {&(_ZTV6G3x0y3[19]), 19,20},
+ {&(_tg__ZTV4E3x0__6G3x0y3[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x0y3[];
+extern VTBL_ENTRY _ZTV6G3x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y3[];
+Class_Descriptor cd_G3x0y3 = { "G3x0y3", // class name
+ bases_G3x0y3, 6,
+ &(vtc_G3x0y3[0]), // expected_vtbl_contents
+ &(vtt_G3x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y3),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y3),9, //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 G3x0y4 : E3x0 , F0 {
+ int ff;
+ ~G3x0y4(); // tgen
+ G3x0y4(); // tgen
+};
+//SIG(1 G3x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x0y4 ::~G3x0y4(){ note_dtor("G3x0y4", this);} // tgen
+G3x0y4 ::G3x0y4(){ note_ctor("G3x0y4", this);} // tgen
+
+static void Test_G3x0y4()
+{
+ extern Class_Descriptor cd_G3x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x0y4, buf);
+ G3x0y4 *dp, &lv = *(dp=new (buf) G3x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y4)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(40,32), "G3x0y4");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(8,4), "G3x0y4");
+ check_base_class_offset(lv, (C3*)(E3x0*), 0, "G3x0y4");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(16,12), "G3x0y4");
+ check_base_class_offset(lv, (E3x0*), 0, "G3x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G3x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G3x0y4.ff");
+ test_class_info(&lv, &cd_G3x0y4);
+ dp->~G3x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y4(Test_G3x0y4, "G3x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y4C1Ev();
+extern void _ZN6G3x0y4D1Ev();
+Name_Map name_map_G3x0y4[] = {
+ NSPAIR(_ZN6G3x0y4C1Ev),
+ NSPAIR(_ZN6G3x0y4D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x0y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //bcp->offset
+ 6, //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
+ 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_E3x0, 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 _ZTI6G3x0y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y4[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y4[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y4[] = {
+ {&(_ZTV6G3x0y4[3]), 3,10},
+ {&(_tg__ZTV4E3x0__6G3x0y4[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y4[3]), 3,4},
+ {&(_ZTV6G3x0y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G3x0y4[];
+extern VTBL_ENTRY _ZTV6G3x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y4[];
+Class_Descriptor cd_G3x0y4 = { "G3x0y4", // class name
+ bases_G3x0y4, 6,
+ &(vtc_G3x0y4[0]), // expected_vtbl_contents
+ &(vtt_G3x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y4),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y4),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 G3x0y5 : virtual E3x0 , F0 {
+ int ff;
+ ~G3x0y5(); // tgen
+ G3x0y5(); // tgen
+};
+//SIG(1 G3x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x0y5 ::~G3x0y5(){ note_dtor("G3x0y5", this);} // tgen
+G3x0y5 ::G3x0y5(){ note_ctor("G3x0y5", this);} // tgen
+
+static void Test_G3x0y5()
+{
+ extern Class_Descriptor cd_G3x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x0y5, buf);
+ G3x0y5 *dp, &lv = *(dp=new (buf) G3x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y5)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(48,36), "G3x0y5");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(24,16), "G3x0y5");
+ check_base_class_offset(lv, (C3*)(E3x0*), ABISELECT(16,12), "G3x0y5");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(32,24), "G3x0y5");
+ check_base_class_offset(lv, (E3x0*), ABISELECT(16,12), "G3x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x0y5.ff");
+ test_class_info(&lv, &cd_G3x0y5);
+ dp->~G3x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y5(Test_G3x0y5, "G3x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y5C1Ev();
+extern void _ZN6G3x0y5D1Ev();
+Name_Map name_map_G3x0y5[] = {
+ NSPAIR(_ZN6G3x0y5C1Ev),
+ NSPAIR(_ZN6G3x0y5D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x0y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 11, //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
+ 8, //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_E3x0, 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 _ZTI6G3x0y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y5[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y5[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y5[] = {
+ {&(_ZTV6G3x0y5[4]), 4,15},
+ {&(_ZTV6G3x0y5[8]), 8,15},
+ {&(_ZTV6G3x0y5[14]), 14,15},
+ {&(_ZTV6G3x0y5[10]), 10,15},
+ {&(_tg__ZTV4E3x0__6G3x0y5[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x0y5[];
+extern VTBL_ENTRY _ZTV6G3x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y5[];
+Class_Descriptor cd_G3x0y5 = { "G3x0y5", // class name
+ bases_G3x0y5, 6,
+ &(vtc_G3x0y5[0]), // expected_vtbl_contents
+ &(vtt_G3x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y5),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y5),8, //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 G3x0y6 : E3x0 , virtual F0 {
+ int ff;
+ ~G3x0y6(); // tgen
+ G3x0y6(); // tgen
+};
+//SIG(1 G3x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x0y6 ::~G3x0y6(){ note_dtor("G3x0y6", this);} // tgen
+G3x0y6 ::G3x0y6(){ note_ctor("G3x0y6", this);} // tgen
+
+static void Test_G3x0y6()
+{
+ extern Class_Descriptor cd_G3x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x0y6, buf);
+ G3x0y6 *dp, &lv = *(dp=new (buf) G3x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y6)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(40,28), "G3x0y6");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(8,4), "G3x0y6");
+ check_base_class_offset(lv, (C3*)(E3x0*), 0, "G3x0y6");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(16,12), "G3x0y6");
+ check_base_class_offset(lv, (E3x0*), 0, "G3x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G3x0y6.ff");
+ test_class_info(&lv, &cd_G3x0y6);
+ dp->~G3x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y6(Test_G3x0y6, "G3x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y6C1Ev();
+extern void _ZN6G3x0y6D1Ev();
+Name_Map name_map_G3x0y6[] = {
+ NSPAIR(_ZN6G3x0y6C1Ev),
+ NSPAIR(_ZN6G3x0y6D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x0y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_E3x0, 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 _ZTI6G3x0y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y6[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y6[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y6[] = {
+ {&(_ZTV6G3x0y6[4]), 4,11},
+ {&(_tg__ZTV4E3x0__6G3x0y6[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y6[3]), 3,4},
+ {&(_ZTV6G3x0y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G3x0y6[];
+extern VTBL_ENTRY _ZTV6G3x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y6[];
+Class_Descriptor cd_G3x0y6 = { "G3x0y6", // class name
+ bases_G3x0y6, 6,
+ &(vtc_G3x0y6[0]), // expected_vtbl_contents
+ &(vtt_G3x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y6),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y6),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 G3x0y7 : virtual E3x0 , virtual F0 {
+ int ff;
+ ~G3x0y7(); // tgen
+ G3x0y7(); // tgen
+};
+//SIG(1 G3x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x0y7 ::~G3x0y7(){ note_dtor("G3x0y7", this);} // tgen
+G3x0y7 ::G3x0y7(){ note_ctor("G3x0y7", this);} // tgen
+
+static void Test_G3x0y7()
+{
+ extern Class_Descriptor cd_G3x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x0y7, buf);
+ G3x0y7 *dp, &lv = *(dp=new (buf) G3x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x0y7)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x0*), ABISELECT(48,32), "G3x0y7");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x0*), ABISELECT(24,12), "G3x0y7");
+ check_base_class_offset(lv, (C3*)(E3x0*), ABISELECT(16,8), "G3x0y7");
+ check_base_class_offset(lv, (D1*)(E3x0*), ABISELECT(32,20), "G3x0y7");
+ check_base_class_offset(lv, (E3x0*), ABISELECT(16,8), "G3x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G3x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x0y7.ff");
+ test_class_info(&lv, &cd_G3x0y7);
+ dp->~G3x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x0y7(Test_G3x0y7, "G3x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x0y7C1Ev();
+extern void _ZN6G3x0y7D1Ev();
+Name_Map name_map_G3x0y7[] = {
+ NSPAIR(_ZN6G3x0y7C1Ev),
+ NSPAIR(_ZN6G3x0y7D1Ev),
+ {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_E3x0;
+extern VTBL_ENTRY _ZTI4E3x0[];
+extern VTBL_ENTRY _ZTV4E3x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x0y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //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,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
+ 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_E3x0, 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 _ZTI6G3x0y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x0y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x0y7[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x0y7[];
+static VTBL_ENTRY _tg__ZTV4E3x0__6G3x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x0__6G3x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x0__6G3x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x0__6G3x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x0y7[] = {
+ {&(_ZTV6G3x0y7[5]), 5,16},
+ {&(_ZTV6G3x0y7[9]), 9,16},
+ {&(_ZTV6G3x0y7[15]), 15,16},
+ {&(_ZTV6G3x0y7[11]), 11,16},
+ {&(_tg__ZTV4E3x0__6G3x0y7[3]), 3,3},
+ {&(_tg__ZTV2C34E3x0__6G3x0y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x0__6G3x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x0__6G3x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x0y7[];
+extern VTBL_ENTRY _ZTV6G3x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x0y7[];
+Class_Descriptor cd_G3x0y7 = { "G3x0y7", // class name
+ bases_G3x0y7, 6,
+ &(vtc_G3x0y7[0]), // expected_vtbl_contents
+ &(vtt_G3x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x0y7),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x0y7),8, //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 E4x0 : C4 , D1 {
+ int fd;
+ ~E4x0(); // tgen
+ E4x0(); // tgen
+};
+//SIG(-1 E4x0) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E4x0 ::~E4x0(){ note_dtor("E4x0", this);} // tgen
+E4x0 ::E4x0(){ note_ctor("E4x0", this);} // tgen
+
+static void Test_E4x0()
+{
+ extern Class_Descriptor cd_E4x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x0, buf);
+ E4x0 *dp, &lv = *(dp=new (buf) E4x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x0)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(12,8), "E4x0");
+ check_base_class_offset(lv, (B1*)(C4*), 0, "E4x0");
+ check_base_class_offset(lv, (C4*), 0, "E4x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E4x0");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E4x0.fd");
+ test_class_info(&lv, &cd_E4x0);
+ dp->~E4x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x0(Test_E4x0, "E4x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x0C1Ev();
+extern void _ZN4E4x0D1Ev();
+Name_Map name_map_E4x0[] = {
+ NSPAIR(_ZN4E4x0C1Ev),
+ NSPAIR(_ZN4E4x0D1Ev),
+ {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_E4x0[] = {
+ // 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
+ 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
+ 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 _ZTI4E4x0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E4x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+Class_Descriptor cd_E4x0 = { "E4x0", // class name
+ bases_E4x0, 4,
+ &(vtc_E4x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x0),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 G4x0y0 : E4x0 , F1 {
+ int ff;
+ ~G4x0y0(); // tgen
+ G4x0y0(); // tgen
+};
+//SIG(1 G4x0y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x0y0 ::~G4x0y0(){ note_dtor("G4x0y0", this);} // tgen
+G4x0y0 ::G4x0y0(){ note_ctor("G4x0y0", this);} // tgen
+
+static void Test_G4x0y0()
+{
+ extern Class_Descriptor cd_G4x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x0y0, buf);
+ G4x0y0 *dp, &lv = *(dp=new (buf) G4x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y0)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(12,8), "G4x0y0");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), 0, "G4x0y0");
+ check_base_class_offset(lv, (C4*)(E4x0*), 0, "G4x0y0");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(24,16), "G4x0y0");
+ check_base_class_offset(lv, (E4x0*), 0, "G4x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G4x0y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G4x0y0.ff");
+ test_class_info(&lv, &cd_G4x0y0);
+ dp->~G4x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y0(Test_G4x0y0, "G4x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y0C1Ev();
+extern void _ZN6G4x0y0D1Ev();
+Name_Map name_map_G4x0y0[] = {
+ NSPAIR(_ZN6G4x0y0C1Ev),
+ NSPAIR(_ZN6G4x0y0D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x0y0[] = {
+ // 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
+ 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
+ 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_E4x0, 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_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 _ZTI6G4x0y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G4x0y0[];
+extern VTBL_ENTRY _ZTV6G4x0y0[];
+Class_Descriptor cd_G4x0y0 = { "G4x0y0", // class name
+ bases_G4x0y0, 6,
+ &(vtc_G4x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y0),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 G4x0y1 : virtual E4x0 , F1 {
+ int ff;
+ ~G4x0y1(); // tgen
+ G4x0y1(); // tgen
+};
+//SIG(1 G4x0y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x0y1 ::~G4x0y1(){ note_dtor("G4x0y1", this);} // tgen
+G4x0y1 ::G4x0y1(){ note_ctor("G4x0y1", this);} // tgen
+
+static void Test_G4x0y1()
+{
+ extern Class_Descriptor cd_G4x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x0y1, buf);
+ G4x0y1 *dp, &lv = *(dp=new (buf) G4x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y1)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(28,20), "G4x0y1");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), ABISELECT(16,12), "G4x0y1");
+ check_base_class_offset(lv, (C4*)(E4x0*), ABISELECT(16,12), "G4x0y1");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(40,28), "G4x0y1");
+ check_base_class_offset(lv, (E4x0*), ABISELECT(16,12), "G4x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x0y1.ff");
+ test_class_info(&lv, &cd_G4x0y1);
+ dp->~G4x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y1(Test_G4x0y1, "G4x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y1C1Ev();
+extern void _ZN6G4x0y1D1Ev();
+Name_Map name_map_G4x0y1[] = {
+ NSPAIR(_ZN6G4x0y1C1Ev),
+ NSPAIR(_ZN6G4x0y1D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x0y1[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E4x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G4x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y1[];
+static VTT_ENTRY vtt_G4x0y1[] = {
+ {&(_ZTV6G4x0y1[3]), 3,11},
+ {&(_ZTV6G4x0y1[7]), 7,11},
+ {&(_ZTV6G4x0y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x0y1[];
+extern VTBL_ENTRY _ZTV6G4x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y1[];
+Class_Descriptor cd_G4x0y1 = { "G4x0y1", // class name
+ bases_G4x0y1, 6,
+ &(vtc_G4x0y1[0]), // expected_vtbl_contents
+ &(vtt_G4x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y1),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 G4x0y2 : E4x0 , virtual F1 {
+ int ff;
+ ~G4x0y2(); // tgen
+ G4x0y2(); // tgen
+};
+//SIG(1 G4x0y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x0y2 ::~G4x0y2(){ note_dtor("G4x0y2", this);} // tgen
+G4x0y2 ::G4x0y2(){ note_ctor("G4x0y2", this);} // tgen
+
+static void Test_G4x0y2()
+{
+ extern Class_Descriptor cd_G4x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x0y2, buf);
+ G4x0y2 *dp, &lv = *(dp=new (buf) G4x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y2)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(12,8), "G4x0y2");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), 0, "G4x0y2");
+ check_base_class_offset(lv, (C4*)(E4x0*), 0, "G4x0y2");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(24,16), "G4x0y2");
+ check_base_class_offset(lv, (E4x0*), 0, "G4x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x0y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G4x0y2.ff");
+ test_class_info(&lv, &cd_G4x0y2);
+ dp->~G4x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y2(Test_G4x0y2, "G4x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y2C1Ev();
+extern void _ZN6G4x0y2D1Ev();
+Name_Map name_map_G4x0y2[] = {
+ NSPAIR(_ZN6G4x0y2C1Ev),
+ NSPAIR(_ZN6G4x0y2D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x0y2[] = {
+ // 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_E4x0, 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 _ZTI6G4x0y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x0y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y2[];
+static VTT_ENTRY vtt_G4x0y2[] = {
+ {&(_ZTV6G4x0y2[3]), 3,11},
+ {&(_ZTV6G4x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x0y2[];
+extern VTBL_ENTRY _ZTV6G4x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y2[];
+Class_Descriptor cd_G4x0y2 = { "G4x0y2", // class name
+ bases_G4x0y2, 6,
+ &(vtc_G4x0y2[0]), // expected_vtbl_contents
+ &(vtt_G4x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y2),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 G4x0y3 : virtual E4x0 , virtual F1 {
+ int ff;
+ ~G4x0y3(); // tgen
+ G4x0y3(); // tgen
+};
+//SIG(1 G4x0y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x0y3 ::~G4x0y3(){ note_dtor("G4x0y3", this);} // tgen
+G4x0y3 ::G4x0y3(){ note_ctor("G4x0y3", this);} // tgen
+
+static void Test_G4x0y3()
+{
+ extern Class_Descriptor cd_G4x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x0y3, buf);
+ G4x0y3 *dp, &lv = *(dp=new (buf) G4x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y3)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(28,16), "G4x0y3");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), ABISELECT(16,8), "G4x0y3");
+ check_base_class_offset(lv, (C4*)(E4x0*), ABISELECT(16,8), "G4x0y3");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(40,24), "G4x0y3");
+ check_base_class_offset(lv, (E4x0*), ABISELECT(16,8), "G4x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x0y3.ff");
+ test_class_info(&lv, &cd_G4x0y3);
+ dp->~G4x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y3(Test_G4x0y3, "G4x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y3C1Ev();
+extern void _ZN6G4x0y3D1Ev();
+Name_Map name_map_G4x0y3[] = {
+ NSPAIR(_ZN6G4x0y3C1Ev),
+ NSPAIR(_ZN6G4x0y3D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x0y3[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E4x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G4x0y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y3[];
+static VTT_ENTRY vtt_G4x0y3[] = {
+ {&(_ZTV6G4x0y3[4]), 4,15},
+ {&(_ZTV6G4x0y3[7]), 7,15},
+ {&(_ZTV6G4x0y3[10]), 10,15},
+ {&(_ZTV6G4x0y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G4x0y3[];
+extern VTBL_ENTRY _ZTV6G4x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y3[];
+Class_Descriptor cd_G4x0y3 = { "G4x0y3", // class name
+ bases_G4x0y3, 6,
+ &(vtc_G4x0y3[0]), // expected_vtbl_contents
+ &(vtt_G4x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y3),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 G4x0y4 : E4x0 , F0 {
+ int ff;
+ ~G4x0y4(); // tgen
+ G4x0y4(); // tgen
+};
+//SIG(1 G4x0y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x0y4 ::~G4x0y4(){ note_dtor("G4x0y4", this);} // tgen
+G4x0y4 ::G4x0y4(){ note_ctor("G4x0y4", this);} // tgen
+
+static void Test_G4x0y4()
+{
+ extern Class_Descriptor cd_G4x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x0y4, buf);
+ G4x0y4 *dp, &lv = *(dp=new (buf) G4x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y4)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(12,8), "G4x0y4");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), 0, "G4x0y4");
+ check_base_class_offset(lv, (C4*)(E4x0*), 0, "G4x0y4");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(24,16), "G4x0y4");
+ check_base_class_offset(lv, (E4x0*), 0, "G4x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G4x0y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G4x0y4.ff");
+ test_class_info(&lv, &cd_G4x0y4);
+ dp->~G4x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y4(Test_G4x0y4, "G4x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y4C1Ev();
+extern void _ZN6G4x0y4D1Ev();
+Name_Map name_map_G4x0y4[] = {
+ NSPAIR(_ZN6G4x0y4C1Ev),
+ NSPAIR(_ZN6G4x0y4D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x0y4[] = {
+ // 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
+ 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
+ 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_E4x0, 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(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 _ZTI6G4x0y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G4x0y4[];
+extern VTBL_ENTRY _ZTV6G4x0y4[];
+Class_Descriptor cd_G4x0y4 = { "G4x0y4", // class name
+ bases_G4x0y4, 6,
+ &(vtc_G4x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y4),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 G4x0y5 : virtual E4x0 , F0 {
+ int ff;
+ ~G4x0y5(); // tgen
+ G4x0y5(); // tgen
+};
+//SIG(1 G4x0y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x0y5 ::~G4x0y5(){ note_dtor("G4x0y5", this);} // tgen
+G4x0y5 ::G4x0y5(){ note_ctor("G4x0y5", this);} // tgen
+
+static void Test_G4x0y5()
+{
+ extern Class_Descriptor cd_G4x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x0y5, buf);
+ G4x0y5 *dp, &lv = *(dp=new (buf) G4x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y5)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(28,20), "G4x0y5");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), ABISELECT(16,12), "G4x0y5");
+ check_base_class_offset(lv, (C4*)(E4x0*), ABISELECT(16,12), "G4x0y5");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(40,28), "G4x0y5");
+ check_base_class_offset(lv, (E4x0*), ABISELECT(16,12), "G4x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x0y5.ff");
+ test_class_info(&lv, &cd_G4x0y5);
+ dp->~G4x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y5(Test_G4x0y5, "G4x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y5C1Ev();
+extern void _ZN6G4x0y5D1Ev();
+Name_Map name_map_G4x0y5[] = {
+ NSPAIR(_ZN6G4x0y5C1Ev),
+ NSPAIR(_ZN6G4x0y5D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x0y5[] = {
+ // 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
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_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_E4x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G4x0y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y5[];
+static VTT_ENTRY vtt_G4x0y5[] = {
+ {&(_ZTV6G4x0y5[3]), 3,10},
+ {&(_ZTV6G4x0y5[6]), 6,10},
+ {&(_ZTV6G4x0y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G4x0y5[];
+extern VTBL_ENTRY _ZTV6G4x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y5[];
+Class_Descriptor cd_G4x0y5 = { "G4x0y5", // class name
+ bases_G4x0y5, 6,
+ &(vtc_G4x0y5[0]), // expected_vtbl_contents
+ &(vtt_G4x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y5),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 G4x0y6 : E4x0 , virtual F0 {
+ int ff;
+ ~G4x0y6(); // tgen
+ G4x0y6(); // tgen
+};
+//SIG(1 G4x0y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x0y6 ::~G4x0y6(){ note_dtor("G4x0y6", this);} // tgen
+G4x0y6 ::G4x0y6(){ note_ctor("G4x0y6", this);} // tgen
+
+static void Test_G4x0y6()
+{
+ extern Class_Descriptor cd_G4x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x0y6, buf);
+ G4x0y6 *dp, &lv = *(dp=new (buf) G4x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y6)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(12,8), "G4x0y6");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), 0, "G4x0y6");
+ check_base_class_offset(lv, (C4*)(E4x0*), 0, "G4x0y6");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(24,16), "G4x0y6");
+ check_base_class_offset(lv, (E4x0*), 0, "G4x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x0y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G4x0y6.ff");
+ test_class_info(&lv, &cd_G4x0y6);
+ dp->~G4x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y6(Test_G4x0y6, "G4x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y6C1Ev();
+extern void _ZN6G4x0y6D1Ev();
+Name_Map name_map_G4x0y6[] = {
+ NSPAIR(_ZN6G4x0y6C1Ev),
+ NSPAIR(_ZN6G4x0y6D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x0y6[] = {
+ // 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_E4x0, 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 _ZTI6G4x0y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x0y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y6[];
+static VTT_ENTRY vtt_G4x0y6[] = {
+ {&(_ZTV6G4x0y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI6G4x0y6[];
+extern VTBL_ENTRY _ZTV6G4x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y6[];
+Class_Descriptor cd_G4x0y6 = { "G4x0y6", // class name
+ bases_G4x0y6, 6,
+ &(vtc_G4x0y6[0]), // expected_vtbl_contents
+ &(vtt_G4x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y6),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 G4x0y7 : virtual E4x0 , virtual F0 {
+ int ff;
+ ~G4x0y7(); // tgen
+ G4x0y7(); // tgen
+};
+//SIG(1 G4x0y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x0y7 ::~G4x0y7(){ note_dtor("G4x0y7", this);} // tgen
+G4x0y7 ::G4x0y7(){ note_ctor("G4x0y7", this);} // tgen
+
+static void Test_G4x0y7()
+{
+ extern Class_Descriptor cd_G4x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x0y7, buf);
+ G4x0y7 *dp, &lv = *(dp=new (buf) G4x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x0y7)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x0*), ABISELECT(28,16), "G4x0y7");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x0*), ABISELECT(16,8), "G4x0y7");
+ check_base_class_offset(lv, (C4*)(E4x0*), ABISELECT(16,8), "G4x0y7");
+ check_base_class_offset(lv, (D1*)(E4x0*), ABISELECT(40,24), "G4x0y7");
+ check_base_class_offset(lv, (E4x0*), ABISELECT(16,8), "G4x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G4x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x0y7.ff");
+ test_class_info(&lv, &cd_G4x0y7);
+ dp->~G4x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x0y7(Test_G4x0y7, "G4x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x0y7C1Ev();
+extern void _ZN6G4x0y7D1Ev();
+Name_Map name_map_G4x0y7[] = {
+ NSPAIR(_ZN6G4x0y7C1Ev),
+ NSPAIR(_ZN6G4x0y7D1Ev),
+ {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_E4x0;
+extern VTBL_ENTRY _ZTI4E4x0[];
+extern VTBL_ENTRY _ZTV4E4x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x0y7[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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_E4x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G4x0y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x0y7[];
+static VTT_ENTRY vtt_G4x0y7[] = {
+ {&(_ZTV6G4x0y7[4]), 4,11},
+ {&(_ZTV6G4x0y7[7]), 7,11},
+ {&(_ZTV6G4x0y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x0y7[];
+extern VTBL_ENTRY _ZTV6G4x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x0y7[];
+Class_Descriptor cd_G4x0y7 = { "G4x0y7", // class name
+ bases_G4x0y7, 6,
+ &(vtc_G4x0y7[0]), // expected_vtbl_contents
+ &(vtt_G4x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x0y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x0y7),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 E5x0 : C5 , D1 {
+ int fd;
+ ~E5x0(); // tgen
+ E5x0(); // tgen
+};
+//SIG(-1 E5x0) C1{ BC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E5x0 ::~E5x0(){ note_dtor("E5x0", this);} // tgen
+E5x0 ::E5x0(){ note_ctor("E5x0", this);} // tgen
+
+static void Test_E5x0()
+{
+ extern Class_Descriptor cd_E5x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E5x0, buf);
+ E5x0 *dp, &lv = *(dp=new (buf) E5x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E5x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x0)");
+ check_base_class_offset(lv, (A1*)(C5*), 0, "E5x0");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(16,8), "E5x0");
+ check_base_class_offset(lv, (C5*), 0, "E5x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(32,20), "E5x0");
+ check_field_offset(lv, fd, ABISELECT(44,28), "E5x0.fd");
+ test_class_info(&lv, &cd_E5x0);
+ dp->~E5x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x0(Test_E5x0, "E5x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x0C1Ev();
+extern void _ZN4E5x0D1Ev();
+Name_Map name_map_E5x0[] = {
+ NSPAIR(_ZN4E5x0C1Ev),
+ NSPAIR(_ZN4E5x0D1Ev),
+ {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_E5x0[] = {
+ // 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
+ 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 _ZTI4E5x0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E5x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+Class_Descriptor cd_E5x0 = { "E5x0", // class name
+ bases_E5x0, 4,
+ &(vtc_E5x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E5x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x0),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 G5x0y0 : E5x0 , F1 {
+ int ff;
+ ~G5x0y0(); // tgen
+ G5x0y0(); // tgen
+};
+//SIG(1 G5x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x0y0 ::~G5x0y0(){ note_dtor("G5x0y0", this);} // tgen
+G5x0y0 ::G5x0y0(){ note_ctor("G5x0y0", this);} // tgen
+
+static void Test_G5x0y0()
+{
+ extern Class_Descriptor cd_G5x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x0y0, buf);
+ G5x0y0 *dp, &lv = *(dp=new (buf) G5x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y0)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), 0, "G5x0y0");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y0");
+ check_base_class_offset(lv, (C5*)(E5x0*), 0, "G5x0y0");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(32,20), "G5x0y0");
+ check_base_class_offset(lv, (E5x0*), 0, "G5x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G5x0y0");
+ check_field_offset(lv, ff, ABISELECT(60,40), "G5x0y0.ff");
+ test_class_info(&lv, &cd_G5x0y0);
+ dp->~G5x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y0(Test_G5x0y0, "G5x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y0C1Ev();
+extern void _ZN6G5x0y0D1Ev();
+Name_Map name_map_G5x0y0[] = {
+ NSPAIR(_ZN6G5x0y0C1Ev),
+ NSPAIR(_ZN6G5x0y0D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x0y0[] = {
+ // 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
+ 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_E5x0, 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
+ 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 _ZTI6G5x0y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G5x0y0[];
+extern VTBL_ENTRY _ZTV6G5x0y0[];
+Class_Descriptor cd_G5x0y0 = { "G5x0y0", // class name
+ bases_G5x0y0, 6,
+ &(vtc_G5x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y0),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 G5x0y1 : virtual E5x0 , F1 {
+ int ff;
+ ~G5x0y1(); // tgen
+ G5x0y1(); // tgen
+};
+//SIG(1 G5x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x0y1 ::~G5x0y1(){ note_dtor("G5x0y1", this);} // tgen
+G5x0y1 ::G5x0y1(){ note_ctor("G5x0y1", this);} // tgen
+
+static void Test_G5x0y1()
+{
+ extern Class_Descriptor cd_G5x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x0y1, buf);
+ G5x0y1 *dp, &lv = *(dp=new (buf) G5x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y1)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), ABISELECT(16,12), "G5x0y1");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(32,20), "G5x0y1");
+ check_base_class_offset(lv, (C5*)(E5x0*), ABISELECT(16,12), "G5x0y1");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(48,32), "G5x0y1");
+ check_base_class_offset(lv, (E5x0*), ABISELECT(16,12), "G5x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x0y1.ff");
+ test_class_info(&lv, &cd_G5x0y1);
+ dp->~G5x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y1(Test_G5x0y1, "G5x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y1C1Ev();
+extern void _ZN6G5x0y1D1Ev();
+Name_Map name_map_G5x0y1[] = {
+ NSPAIR(_ZN6G5x0y1C1Ev),
+ NSPAIR(_ZN6G5x0y1D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x0y1[] = {
+ // 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)
+ 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_E5x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G5x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y1[];
+static VTT_ENTRY vtt_G5x0y1[] = {
+ {&(_ZTV6G5x0y1[3]), 3,14},
+ {&(_ZTV6G5x0y1[7]), 7,14},
+ {&(_ZTV6G5x0y1[10]), 10,14},
+ {&(_ZTV6G5x0y1[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x0y1[];
+extern VTBL_ENTRY _ZTV6G5x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y1[];
+Class_Descriptor cd_G5x0y1 = { "G5x0y1", // class name
+ bases_G5x0y1, 6,
+ &(vtc_G5x0y1[0]), // expected_vtbl_contents
+ &(vtt_G5x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y1),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y1),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 G5x0y2 : E5x0 , virtual F1 {
+ int ff;
+ ~G5x0y2(); // tgen
+ G5x0y2(); // tgen
+};
+//SIG(1 G5x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x0y2 ::~G5x0y2(){ note_dtor("G5x0y2", this);} // tgen
+G5x0y2 ::G5x0y2(){ note_ctor("G5x0y2", this);} // tgen
+
+static void Test_G5x0y2()
+{
+ extern Class_Descriptor cd_G5x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x0y2, buf);
+ G5x0y2 *dp, &lv = *(dp=new (buf) G5x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y2)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), 0, "G5x0y2");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y2");
+ check_base_class_offset(lv, (C5*)(E5x0*), 0, "G5x0y2");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(32,20), "G5x0y2");
+ check_base_class_offset(lv, (E5x0*), 0, "G5x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x0y2");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G5x0y2.ff");
+ test_class_info(&lv, &cd_G5x0y2);
+ dp->~G5x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y2(Test_G5x0y2, "G5x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y2C1Ev();
+extern void _ZN6G5x0y2D1Ev();
+Name_Map name_map_G5x0y2[] = {
+ NSPAIR(_ZN6G5x0y2C1Ev),
+ NSPAIR(_ZN6G5x0y2D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x0y2[] = {
+ // 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_E5x0, 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 _ZTI6G5x0y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x0y2[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y2[];
+static VTT_ENTRY vtt_G5x0y2[] = {
+ {&(_ZTV6G5x0y2[3]), 3,14},
+ {&(_ZTV6G5x0y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x0y2[];
+extern VTBL_ENTRY _ZTV6G5x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y2[];
+Class_Descriptor cd_G5x0y2 = { "G5x0y2", // class name
+ bases_G5x0y2, 6,
+ &(vtc_G5x0y2[0]), // expected_vtbl_contents
+ &(vtt_G5x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y2),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y2),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 G5x0y3 : virtual E5x0 , virtual F1 {
+ int ff;
+ ~G5x0y3(); // tgen
+ G5x0y3(); // tgen
+};
+//SIG(1 G5x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x0y3 ::~G5x0y3(){ note_dtor("G5x0y3", this);} // tgen
+G5x0y3 ::G5x0y3(){ note_ctor("G5x0y3", this);} // tgen
+
+static void Test_G5x0y3()
+{
+ extern Class_Descriptor cd_G5x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x0y3, buf);
+ G5x0y3 *dp, &lv = *(dp=new (buf) G5x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y3)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y3");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(32,16), "G5x0y3");
+ check_base_class_offset(lv, (C5*)(E5x0*), ABISELECT(16,8), "G5x0y3");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(48,28), "G5x0y3");
+ check_base_class_offset(lv, (E5x0*), ABISELECT(16,8), "G5x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G5x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x0y3.ff");
+ test_class_info(&lv, &cd_G5x0y3);
+ dp->~G5x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y3(Test_G5x0y3, "G5x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y3C1Ev();
+extern void _ZN6G5x0y3D1Ev();
+Name_Map name_map_G5x0y3[] = {
+ NSPAIR(_ZN6G5x0y3C1Ev),
+ NSPAIR(_ZN6G5x0y3D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x0y3[] = {
+ // 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)
+ 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_E5x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G5x0y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y3[];
+static VTT_ENTRY vtt_G5x0y3[] = {
+ {&(_ZTV6G5x0y3[4]), 4,18},
+ {&(_ZTV6G5x0y3[7]), 7,18},
+ {&(_ZTV6G5x0y3[10]), 10,18},
+ {&(_ZTV6G5x0y3[13]), 13,18},
+ {&(_ZTV6G5x0y3[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI6G5x0y3[];
+extern VTBL_ENTRY _ZTV6G5x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y3[];
+Class_Descriptor cd_G5x0y3 = { "G5x0y3", // class name
+ bases_G5x0y3, 6,
+ &(vtc_G5x0y3[0]), // expected_vtbl_contents
+ &(vtt_G5x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y3),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y3),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 G5x0y4 : E5x0 , F0 {
+ int ff;
+ ~G5x0y4(); // tgen
+ G5x0y4(); // tgen
+};
+//SIG(1 G5x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x0y4 ::~G5x0y4(){ note_dtor("G5x0y4", this);} // tgen
+G5x0y4 ::G5x0y4(){ note_ctor("G5x0y4", this);} // tgen
+
+static void Test_G5x0y4()
+{
+ extern Class_Descriptor cd_G5x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x0y4, buf);
+ G5x0y4 *dp, &lv = *(dp=new (buf) G5x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y4)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), 0, "G5x0y4");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y4");
+ check_base_class_offset(lv, (C5*)(E5x0*), 0, "G5x0y4");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(32,20), "G5x0y4");
+ check_base_class_offset(lv, (E5x0*), 0, "G5x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,32), "G5x0y4");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G5x0y4.ff");
+ test_class_info(&lv, &cd_G5x0y4);
+ dp->~G5x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y4(Test_G5x0y4, "G5x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y4C1Ev();
+extern void _ZN6G5x0y4D1Ev();
+Name_Map name_map_G5x0y4[] = {
+ NSPAIR(_ZN6G5x0y4C1Ev),
+ NSPAIR(_ZN6G5x0y4D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x0y4[] = {
+ // 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
+ 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_E5x0, 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(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 _ZTI6G5x0y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G5x0y4[];
+extern VTBL_ENTRY _ZTV6G5x0y4[];
+Class_Descriptor cd_G5x0y4 = { "G5x0y4", // class name
+ bases_G5x0y4, 6,
+ &(vtc_G5x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y4),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 G5x0y5 : virtual E5x0 , F0 {
+ int ff;
+ ~G5x0y5(); // tgen
+ G5x0y5(); // tgen
+};
+//SIG(1 G5x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x0y5 ::~G5x0y5(){ note_dtor("G5x0y5", this);} // tgen
+G5x0y5 ::G5x0y5(){ note_ctor("G5x0y5", this);} // tgen
+
+static void Test_G5x0y5()
+{
+ extern Class_Descriptor cd_G5x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x0y5, buf);
+ G5x0y5 *dp, &lv = *(dp=new (buf) G5x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y5)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), ABISELECT(16,12), "G5x0y5");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(32,20), "G5x0y5");
+ check_base_class_offset(lv, (C5*)(E5x0*), ABISELECT(16,12), "G5x0y5");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(48,32), "G5x0y5");
+ check_base_class_offset(lv, (E5x0*), ABISELECT(16,12), "G5x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x0y5.ff");
+ test_class_info(&lv, &cd_G5x0y5);
+ dp->~G5x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y5(Test_G5x0y5, "G5x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y5C1Ev();
+extern void _ZN6G5x0y5D1Ev();
+Name_Map name_map_G5x0y5[] = {
+ NSPAIR(_ZN6G5x0y5C1Ev),
+ NSPAIR(_ZN6G5x0y5D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x0y5[] = {
+ // 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)
+ 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_E5x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI6G5x0y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y5[];
+static VTT_ENTRY vtt_G5x0y5[] = {
+ {&(_ZTV6G5x0y5[3]), 3,13},
+ {&(_ZTV6G5x0y5[6]), 6,13},
+ {&(_ZTV6G5x0y5[9]), 9,13},
+ {&(_ZTV6G5x0y5[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G5x0y5[];
+extern VTBL_ENTRY _ZTV6G5x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y5[];
+Class_Descriptor cd_G5x0y5 = { "G5x0y5", // class name
+ bases_G5x0y5, 6,
+ &(vtc_G5x0y5[0]), // expected_vtbl_contents
+ &(vtt_G5x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y5),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y5),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 G5x0y6 : E5x0 , virtual F0 {
+ int ff;
+ ~G5x0y6(); // tgen
+ G5x0y6(); // tgen
+};
+//SIG(1 G5x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x0y6 ::~G5x0y6(){ note_dtor("G5x0y6", this);} // tgen
+G5x0y6 ::G5x0y6(){ note_ctor("G5x0y6", this);} // tgen
+
+static void Test_G5x0y6()
+{
+ extern Class_Descriptor cd_G5x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x0y6, buf);
+ G5x0y6 *dp, &lv = *(dp=new (buf) G5x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y6)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), 0, "G5x0y6");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y6");
+ check_base_class_offset(lv, (C5*)(E5x0*), 0, "G5x0y6");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(32,20), "G5x0y6");
+ check_base_class_offset(lv, (E5x0*), 0, "G5x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G5x0y6");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G5x0y6.ff");
+ test_class_info(&lv, &cd_G5x0y6);
+ dp->~G5x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y6(Test_G5x0y6, "G5x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y6C1Ev();
+extern void _ZN6G5x0y6D1Ev();
+Name_Map name_map_G5x0y6[] = {
+ NSPAIR(_ZN6G5x0y6C1Ev),
+ NSPAIR(_ZN6G5x0y6D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x0y6[] = {
+ // 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_E5x0, 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 _ZTI6G5x0y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x0y6[] = {
+ ABISELECT(52,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y6[];
+static VTT_ENTRY vtt_G5x0y6[] = {
+ {&(_ZTV6G5x0y6[3]), 3,10},
+};
+extern VTBL_ENTRY _ZTI6G5x0y6[];
+extern VTBL_ENTRY _ZTV6G5x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y6[];
+Class_Descriptor cd_G5x0y6 = { "G5x0y6", // class name
+ bases_G5x0y6, 6,
+ &(vtc_G5x0y6[0]), // expected_vtbl_contents
+ &(vtt_G5x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y6),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y6),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 G5x0y7 : virtual E5x0 , virtual F0 {
+ int ff;
+ ~G5x0y7(); // tgen
+ G5x0y7(); // tgen
+};
+//SIG(1 G5x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x0y7 ::~G5x0y7(){ note_dtor("G5x0y7", this);} // tgen
+G5x0y7 ::G5x0y7(){ note_ctor("G5x0y7", this);} // tgen
+
+static void Test_G5x0y7()
+{
+ extern Class_Descriptor cd_G5x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x0y7, buf);
+ G5x0y7 *dp, &lv = *(dp=new (buf) G5x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x0y7)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x0*), ABISELECT(16,8), "G5x0y7");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x0*), ABISELECT(32,16), "G5x0y7");
+ check_base_class_offset(lv, (C5*)(E5x0*), ABISELECT(16,8), "G5x0y7");
+ check_base_class_offset(lv, (D1*)(E5x0*), ABISELECT(48,28), "G5x0y7");
+ check_base_class_offset(lv, (E5x0*), ABISELECT(16,8), "G5x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G5x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x0y7.ff");
+ test_class_info(&lv, &cd_G5x0y7);
+ dp->~G5x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x0y7(Test_G5x0y7, "G5x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x0y7C1Ev();
+extern void _ZN6G5x0y7D1Ev();
+Name_Map name_map_G5x0y7[] = {
+ NSPAIR(_ZN6G5x0y7C1Ev),
+ NSPAIR(_ZN6G5x0y7D1Ev),
+ {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_E5x0;
+extern VTBL_ENTRY _ZTI4E5x0[];
+extern VTBL_ENTRY _ZTV4E5x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x0y7[] = {
+ // 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)
+ 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_E5x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI6G5x0y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x0y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x0y7[];
+static VTT_ENTRY vtt_G5x0y7[] = {
+ {&(_ZTV6G5x0y7[4]), 4,14},
+ {&(_ZTV6G5x0y7[7]), 7,14},
+ {&(_ZTV6G5x0y7[10]), 10,14},
+ {&(_ZTV6G5x0y7[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x0y7[];
+extern VTBL_ENTRY _ZTV6G5x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x0y7[];
+Class_Descriptor cd_G5x0y7 = { "G5x0y7", // class name
+ bases_G5x0y7, 6,
+ &(vtc_G5x0y7[0]), // expected_vtbl_contents
+ &(vtt_G5x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x0y7),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x0y7),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 E6x0 : C6 , D1 {
+ int fd;
+ ~E6x0(); // tgen
+ E6x0(); // tgen
+};
+//SIG(-1 E6x0) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E6x0 ::~E6x0(){ note_dtor("E6x0", this);} // tgen
+E6x0 ::E6x0(){ note_ctor("E6x0", this);} // tgen
+
+static void Test_E6x0()
+{
+ extern Class_Descriptor cd_E6x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x0, buf);
+ E6x0 *dp, &lv = *(dp=new (buf) E6x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x0)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "E6x0");
+ check_base_class_offset(lv, (B1*)(C6*), 0, "E6x0");
+ check_base_class_offset(lv, (C6*), 0, "E6x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E6x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E6x0.fd");
+ test_class_info(&lv, &cd_E6x0);
+ dp->~E6x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x0(Test_E6x0, "E6x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x0C1Ev();
+extern void _ZN4E6x0D1Ev();
+Name_Map name_map_E6x0[] = {
+ NSPAIR(_ZN4E6x0C1Ev),
+ NSPAIR(_ZN4E6x0D1Ev),
+ {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_E6x0[] = {
+ // 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 _ZTI4E6x0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E6x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x0[] = {
+ {&(_ZTV4E6x0[3]), 3,7},
+ {&(_tg__ZTV2C6__4E6x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+Class_Descriptor cd_E6x0 = { "E6x0", // class name
+ bases_E6x0, 4,
+ &(vtc_E6x0[0]), // expected_vtbl_contents
+ &(vtt_E6x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x0),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 G6x0y0 : E6x0 , F1 {
+ int ff;
+ ~G6x0y0(); // tgen
+ G6x0y0(); // tgen
+};
+//SIG(1 G6x0y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x0y0 ::~G6x0y0(){ note_dtor("G6x0y0", this);} // tgen
+G6x0y0 ::G6x0y0(){ note_ctor("G6x0y0", this);} // tgen
+
+static void Test_G6x0y0()
+{
+ extern Class_Descriptor cd_G6x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x0y0, buf);
+ G6x0y0 *dp, &lv = *(dp=new (buf) G6x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y0)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(48,36), "G6x0y0");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), 0, "G6x0y0");
+ check_base_class_offset(lv, (C6*)(E6x0*), 0, "G6x0y0");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(16,12), "G6x0y0");
+ check_base_class_offset(lv, (E6x0*), 0, "G6x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G6x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G6x0y0.ff");
+ test_class_info(&lv, &cd_G6x0y0);
+ dp->~G6x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y0(Test_G6x0y0, "G6x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y0C1Ev();
+extern void _ZN6G6x0y0D1Ev();
+Name_Map name_map_G6x0y0[] = {
+ NSPAIR(_ZN6G6x0y0C1Ev),
+ NSPAIR(_ZN6G6x0y0D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x0y0[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y0[] = {
+ {&(_ZTV6G6x0y0[3]), 3,10},
+ {&(_tg__ZTV4E6x0__6G6x0y0[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y0[];
+extern VTBL_ENTRY _ZTV6G6x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y0[];
+Class_Descriptor cd_G6x0y0 = { "G6x0y0", // class name
+ bases_G6x0y0, 6,
+ &(vtc_G6x0y0[0]), // expected_vtbl_contents
+ &(vtt_G6x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y0),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 G6x0y1 : virtual E6x0 , F1 {
+ int ff;
+ ~G6x0y1(); // tgen
+ G6x0y1(); // tgen
+};
+//SIG(1 G6x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x0y1 ::~G6x0y1(){ note_dtor("G6x0y1", this);} // tgen
+G6x0y1 ::G6x0y1(){ note_ctor("G6x0y1", this);} // tgen
+
+static void Test_G6x0y1()
+{
+ extern Class_Descriptor cd_G6x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x0y1, buf);
+ G6x0y1 *dp, &lv = *(dp=new (buf) G6x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y1)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(48,36), "G6x0y1");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), ABISELECT(16,12), "G6x0y1");
+ check_base_class_offset(lv, (C6*)(E6x0*), ABISELECT(16,12), "G6x0y1");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(32,24), "G6x0y1");
+ check_base_class_offset(lv, (E6x0*), ABISELECT(16,12), "G6x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x0y1.ff");
+ test_class_info(&lv, &cd_G6x0y1);
+ dp->~G6x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y1(Test_G6x0y1, "G6x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y1C1Ev();
+extern void _ZN6G6x0y1D1Ev();
+Name_Map name_map_G6x0y1[] = {
+ NSPAIR(_ZN6G6x0y1C1Ev),
+ NSPAIR(_ZN6G6x0y1D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x0y1[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y1[] = {
+ {&(_ZTV6G6x0y1[4]), 4,13},
+ {&(_ZTV6G6x0y1[9]), 9,13},
+ {&(_ZTV6G6x0y1[12]), 12,13},
+ {&(_tg__ZTV4E6x0__6G6x0y1[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y1[];
+extern VTBL_ENTRY _ZTV6G6x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y1[];
+Class_Descriptor cd_G6x0y1 = { "G6x0y1", // class name
+ bases_G6x0y1, 6,
+ &(vtc_G6x0y1[0]), // expected_vtbl_contents
+ &(vtt_G6x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y1),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 G6x0y2 : E6x0 , virtual F1 {
+ int ff;
+ ~G6x0y2(); // tgen
+ G6x0y2(); // tgen
+};
+//SIG(1 G6x0y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x0y2 ::~G6x0y2(){ note_dtor("G6x0y2", this);} // tgen
+G6x0y2 ::G6x0y2(){ note_ctor("G6x0y2", this);} // tgen
+
+static void Test_G6x0y2()
+{
+ extern Class_Descriptor cd_G6x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x0y2, buf);
+ G6x0y2 *dp, &lv = *(dp=new (buf) G6x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y2)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(36,28), "G6x0y2");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), 0, "G6x0y2");
+ check_base_class_offset(lv, (C6*)(E6x0*), 0, "G6x0y2");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(16,12), "G6x0y2");
+ check_base_class_offset(lv, (E6x0*), 0, "G6x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G6x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G6x0y2.ff");
+ test_class_info(&lv, &cd_G6x0y2);
+ dp->~G6x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y2(Test_G6x0y2, "G6x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y2C1Ev();
+extern void _ZN6G6x0y2D1Ev();
+Name_Map name_map_G6x0y2[] = {
+ NSPAIR(_ZN6G6x0y2C1Ev),
+ NSPAIR(_ZN6G6x0y2D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x0y2[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y2[] = {
+ {&(_ZTV6G6x0y2[4]), 4,12},
+ {&(_tg__ZTV4E6x0__6G6x0y2[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y2[3]), 3,4},
+ {&(_ZTV6G6x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G6x0y2[];
+extern VTBL_ENTRY _ZTV6G6x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y2[];
+Class_Descriptor cd_G6x0y2 = { "G6x0y2", // class name
+ bases_G6x0y2, 6,
+ &(vtc_G6x0y2[0]), // expected_vtbl_contents
+ &(vtt_G6x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y2),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 G6x0y3 : virtual E6x0 , virtual F1 {
+ int ff;
+ ~G6x0y3(); // tgen
+ G6x0y3(); // tgen
+};
+//SIG(1 G6x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x0y3 ::~G6x0y3(){ note_dtor("G6x0y3", this);} // tgen
+G6x0y3 ::G6x0y3(){ note_ctor("G6x0y3", this);} // tgen
+
+static void Test_G6x0y3()
+{
+ extern Class_Descriptor cd_G6x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x0y3, buf);
+ G6x0y3 *dp, &lv = *(dp=new (buf) G6x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y3)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(48,32), "G6x0y3");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), ABISELECT(16,8), "G6x0y3");
+ check_base_class_offset(lv, (C6*)(E6x0*), ABISELECT(16,8), "G6x0y3");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(32,20), "G6x0y3");
+ check_base_class_offset(lv, (E6x0*), ABISELECT(16,8), "G6x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x0y3.ff");
+ test_class_info(&lv, &cd_G6x0y3);
+ dp->~G6x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y3(Test_G6x0y3, "G6x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y3C1Ev();
+extern void _ZN6G6x0y3D1Ev();
+Name_Map name_map_G6x0y3[] = {
+ NSPAIR(_ZN6G6x0y3C1Ev),
+ NSPAIR(_ZN6G6x0y3D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x0y3[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y3[] = {
+ {&(_ZTV6G6x0y3[5]), 5,17},
+ {&(_ZTV6G6x0y3[9]), 9,17},
+ {&(_ZTV6G6x0y3[12]), 12,17},
+ {&(_ZTV6G6x0y3[16]), 16,17},
+ {&(_tg__ZTV4E6x0__6G6x0y3[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y3[];
+extern VTBL_ENTRY _ZTV6G6x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y3[];
+Class_Descriptor cd_G6x0y3 = { "G6x0y3", // class name
+ bases_G6x0y3, 6,
+ &(vtc_G6x0y3[0]), // expected_vtbl_contents
+ &(vtt_G6x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y3),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 G6x0y4 : E6x0 , F0 {
+ int ff;
+ ~G6x0y4(); // tgen
+ G6x0y4(); // tgen
+};
+//SIG(1 G6x0y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x0y4 ::~G6x0y4(){ note_dtor("G6x0y4", this);} // tgen
+G6x0y4 ::G6x0y4(){ note_ctor("G6x0y4", this);} // tgen
+
+static void Test_G6x0y4()
+{
+ extern Class_Descriptor cd_G6x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x0y4, buf);
+ G6x0y4 *dp, &lv = *(dp=new (buf) G6x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y4)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(40,32), "G6x0y4");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), 0, "G6x0y4");
+ check_base_class_offset(lv, (C6*)(E6x0*), 0, "G6x0y4");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(16,12), "G6x0y4");
+ check_base_class_offset(lv, (E6x0*), 0, "G6x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G6x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G6x0y4.ff");
+ test_class_info(&lv, &cd_G6x0y4);
+ dp->~G6x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y4(Test_G6x0y4, "G6x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y4C1Ev();
+extern void _ZN6G6x0y4D1Ev();
+Name_Map name_map_G6x0y4[] = {
+ NSPAIR(_ZN6G6x0y4C1Ev),
+ NSPAIR(_ZN6G6x0y4D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x0y4[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y4[] = {
+ {&(_ZTV6G6x0y4[3]), 3,7},
+ {&(_tg__ZTV4E6x0__6G6x0y4[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y4[];
+extern VTBL_ENTRY _ZTV6G6x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y4[];
+Class_Descriptor cd_G6x0y4 = { "G6x0y4", // class name
+ bases_G6x0y4, 6,
+ &(vtc_G6x0y4[0]), // expected_vtbl_contents
+ &(vtt_G6x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y4),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 G6x0y5 : virtual E6x0 , F0 {
+ int ff;
+ ~G6x0y5(); // tgen
+ G6x0y5(); // tgen
+};
+//SIG(1 G6x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x0y5 ::~G6x0y5(){ note_dtor("G6x0y5", this);} // tgen
+G6x0y5 ::G6x0y5(){ note_ctor("G6x0y5", this);} // tgen
+
+static void Test_G6x0y5()
+{
+ extern Class_Descriptor cd_G6x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x0y5, buf);
+ G6x0y5 *dp, &lv = *(dp=new (buf) G6x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y5)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(48,36), "G6x0y5");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), ABISELECT(16,12), "G6x0y5");
+ check_base_class_offset(lv, (C6*)(E6x0*), ABISELECT(16,12), "G6x0y5");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(32,24), "G6x0y5");
+ check_base_class_offset(lv, (E6x0*), ABISELECT(16,12), "G6x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x0y5.ff");
+ test_class_info(&lv, &cd_G6x0y5);
+ dp->~G6x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y5(Test_G6x0y5, "G6x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y5C1Ev();
+extern void _ZN6G6x0y5D1Ev();
+Name_Map name_map_G6x0y5[] = {
+ NSPAIR(_ZN6G6x0y5C1Ev),
+ NSPAIR(_ZN6G6x0y5D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x0y5[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y5[] = {
+ {&(_ZTV6G6x0y5[4]), 4,12},
+ {&(_ZTV6G6x0y5[8]), 8,12},
+ {&(_ZTV6G6x0y5[11]), 11,12},
+ {&(_tg__ZTV4E6x0__6G6x0y5[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y5[];
+extern VTBL_ENTRY _ZTV6G6x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y5[];
+Class_Descriptor cd_G6x0y5 = { "G6x0y5", // class name
+ bases_G6x0y5, 6,
+ &(vtc_G6x0y5[0]), // expected_vtbl_contents
+ &(vtt_G6x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y5),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 G6x0y6 : E6x0 , virtual F0 {
+ int ff;
+ ~G6x0y6(); // tgen
+ G6x0y6(); // tgen
+};
+//SIG(1 G6x0y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x0y6 ::~G6x0y6(){ note_dtor("G6x0y6", this);} // tgen
+G6x0y6 ::G6x0y6(){ note_ctor("G6x0y6", this);} // tgen
+
+static void Test_G6x0y6()
+{
+ extern Class_Descriptor cd_G6x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x0y6, buf);
+ G6x0y6 *dp, &lv = *(dp=new (buf) G6x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y6)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(36,28), "G6x0y6");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), 0, "G6x0y6");
+ check_base_class_offset(lv, (C6*)(E6x0*), 0, "G6x0y6");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(16,12), "G6x0y6");
+ check_base_class_offset(lv, (E6x0*), 0, "G6x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G6x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G6x0y6.ff");
+ test_class_info(&lv, &cd_G6x0y6);
+ dp->~G6x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y6(Test_G6x0y6, "G6x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y6C1Ev();
+extern void _ZN6G6x0y6D1Ev();
+Name_Map name_map_G6x0y6[] = {
+ NSPAIR(_ZN6G6x0y6C1Ev),
+ NSPAIR(_ZN6G6x0y6D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x0y6[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y6[] = {
+ {&(_ZTV6G6x0y6[4]), 4,8},
+ {&(_tg__ZTV4E6x0__6G6x0y6[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y6[];
+extern VTBL_ENTRY _ZTV6G6x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y6[];
+Class_Descriptor cd_G6x0y6 = { "G6x0y6", // class name
+ bases_G6x0y6, 6,
+ &(vtc_G6x0y6[0]), // expected_vtbl_contents
+ &(vtt_G6x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y6),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 G6x0y7 : virtual E6x0 , virtual F0 {
+ int ff;
+ ~G6x0y7(); // tgen
+ G6x0y7(); // tgen
+};
+//SIG(1 G6x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x0y7 ::~G6x0y7(){ note_dtor("G6x0y7", this);} // tgen
+G6x0y7 ::G6x0y7(){ note_ctor("G6x0y7", this);} // tgen
+
+static void Test_G6x0y7()
+{
+ extern Class_Descriptor cd_G6x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x0y7, buf);
+ G6x0y7 *dp, &lv = *(dp=new (buf) G6x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x0y7)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x0*), ABISELECT(48,32), "G6x0y7");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x0*), ABISELECT(16,8), "G6x0y7");
+ check_base_class_offset(lv, (C6*)(E6x0*), ABISELECT(16,8), "G6x0y7");
+ check_base_class_offset(lv, (D1*)(E6x0*), ABISELECT(32,20), "G6x0y7");
+ check_base_class_offset(lv, (E6x0*), ABISELECT(16,8), "G6x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x0y7.ff");
+ test_class_info(&lv, &cd_G6x0y7);
+ dp->~G6x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x0y7(Test_G6x0y7, "G6x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x0y7C1Ev();
+extern void _ZN6G6x0y7D1Ev();
+Name_Map name_map_G6x0y7[] = {
+ NSPAIR(_ZN6G6x0y7C1Ev),
+ NSPAIR(_ZN6G6x0y7D1Ev),
+ {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_E6x0;
+extern VTBL_ENTRY _ZTI4E6x0[];
+extern VTBL_ENTRY _ZTV4E6x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x0y7[] = {
+ // 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_E6x0, 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 _ZTI6G6x0y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x0y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x0__6G6x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x0__6G6x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x0y7[] = {
+ {&(_ZTV6G6x0y7[5]), 5,13},
+ {&(_ZTV6G6x0y7[9]), 9,13},
+ {&(_ZTV6G6x0y7[12]), 12,13},
+ {&(_tg__ZTV4E6x0__6G6x0y7[3]), 3,4},
+ {&(_tg__ZTV2C64E6x0__6G6x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x0y7[];
+extern VTBL_ENTRY _ZTV6G6x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x0y7[];
+Class_Descriptor cd_G6x0y7 = { "G6x0y7", // class name
+ bases_G6x0y7, 6,
+ &(vtc_G6x0y7[0]), // expected_vtbl_contents
+ &(vtt_G6x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x0y7),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 E7x0 : C7 , D1 {
+ int fd;
+ ~E7x0(); // tgen
+ E7x0(); // tgen
+};
+//SIG(-1 E7x0) C1{ BC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E7x0 ::~E7x0(){ note_dtor("E7x0", this);} // tgen
+E7x0 ::E7x0(){ note_ctor("E7x0", this);} // tgen
+
+static void Test_E7x0()
+{
+ extern Class_Descriptor cd_E7x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E7x0, buf);
+ E7x0 *dp, &lv = *(dp=new (buf) E7x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E7x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x0)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "E7x0");
+ check_base_class_offset(lv, (B1*)(C7*), 0, "E7x0");
+ check_base_class_offset(lv, (C7*), 0, "E7x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E7x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E7x0.fd");
+ test_class_info(&lv, &cd_E7x0);
+ dp->~E7x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x0(Test_E7x0, "E7x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x0C1Ev();
+extern void _ZN4E7x0D1Ev();
+Name_Map name_map_E7x0[] = {
+ NSPAIR(_ZN4E7x0C1Ev),
+ NSPAIR(_ZN4E7x0D1Ev),
+ {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_E7x0[] = {
+ // 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 _ZTI4E7x0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x0[] = {
+ {&(_ZTV4E7x0[3]), 3,11},
+ {&(_tg__ZTV2C7__4E7x0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x0[3]), 3,4},
+ {&(_ZTV4E7x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+Class_Descriptor cd_E7x0 = { "E7x0", // class name
+ bases_E7x0, 4,
+ &(vtc_E7x0[0]), // expected_vtbl_contents
+ &(vtt_E7x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E7x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x0),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 G7x0y0 : E7x0 , F1 {
+ int ff;
+ ~G7x0y0(); // tgen
+ G7x0y0(); // tgen
+};
+//SIG(1 G7x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x0y0 ::~G7x0y0(){ note_dtor("G7x0y0", this);} // tgen
+G7x0y0 ::G7x0y0(){ note_ctor("G7x0y0", this);} // tgen
+
+static void Test_G7x0y0()
+{
+ extern Class_Descriptor cd_G7x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x0y0, buf);
+ G7x0y0 *dp, &lv = *(dp=new (buf) G7x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y0)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(48,36), "G7x0y0");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), 0, "G7x0y0");
+ check_base_class_offset(lv, (C7*)(E7x0*), 0, "G7x0y0");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(16,12), "G7x0y0");
+ check_base_class_offset(lv, (E7x0*), 0, "G7x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G7x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G7x0y0.ff");
+ test_class_info(&lv, &cd_G7x0y0);
+ dp->~G7x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y0(Test_G7x0y0, "G7x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y0C1Ev();
+extern void _ZN6G7x0y0D1Ev();
+Name_Map name_map_G7x0y0[] = {
+ NSPAIR(_ZN6G7x0y0C1Ev),
+ NSPAIR(_ZN6G7x0y0D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x0y0[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y0[] = {
+ {&(_ZTV6G7x0y0[3]), 3,14},
+ {&(_tg__ZTV4E7x0__6G7x0y0[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y0[3]), 3,4},
+ {&(_ZTV6G7x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G7x0y0[];
+extern VTBL_ENTRY _ZTV6G7x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y0[];
+Class_Descriptor cd_G7x0y0 = { "G7x0y0", // class name
+ bases_G7x0y0, 6,
+ &(vtc_G7x0y0[0]), // expected_vtbl_contents
+ &(vtt_G7x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y0),6, //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 G7x0y1 : virtual E7x0 , F1 {
+ int ff;
+ ~G7x0y1(); // tgen
+ G7x0y1(); // tgen
+};
+//SIG(1 G7x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x0y1 ::~G7x0y1(){ note_dtor("G7x0y1", this);} // tgen
+G7x0y1 ::G7x0y1(){ note_ctor("G7x0y1", this);} // tgen
+
+static void Test_G7x0y1()
+{
+ extern Class_Descriptor cd_G7x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x0y1, buf);
+ G7x0y1 *dp, &lv = *(dp=new (buf) G7x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y1)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(48,36), "G7x0y1");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), ABISELECT(16,12), "G7x0y1");
+ check_base_class_offset(lv, (C7*)(E7x0*), ABISELECT(16,12), "G7x0y1");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(32,24), "G7x0y1");
+ check_base_class_offset(lv, (E7x0*), ABISELECT(16,12), "G7x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x0y1.ff");
+ test_class_info(&lv, &cd_G7x0y1);
+ dp->~G7x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y1(Test_G7x0y1, "G7x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y1C1Ev();
+extern void _ZN6G7x0y1D1Ev();
+Name_Map name_map_G7x0y1[] = {
+ NSPAIR(_ZN6G7x0y1C1Ev),
+ NSPAIR(_ZN6G7x0y1D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x0y1[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y1[] = {
+ {&(_ZTV6G7x0y1[4]), 4,17},
+ {&(_ZTV6G7x0y1[9]), 9,17},
+ {&(_ZTV6G7x0y1[16]), 16,17},
+ {&(_ZTV6G7x0y1[12]), 12,17},
+ {&(_tg__ZTV4E7x0__6G7x0y1[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x0y1[];
+extern VTBL_ENTRY _ZTV6G7x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y1[];
+Class_Descriptor cd_G7x0y1 = { "G7x0y1", // class name
+ bases_G7x0y1, 6,
+ &(vtc_G7x0y1[0]), // expected_vtbl_contents
+ &(vtt_G7x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y1),8, //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 G7x0y2 : E7x0 , virtual F1 {
+ int ff;
+ ~G7x0y2(); // tgen
+ G7x0y2(); // tgen
+};
+//SIG(1 G7x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x0y2 ::~G7x0y2(){ note_dtor("G7x0y2", this);} // tgen
+G7x0y2 ::G7x0y2(){ note_ctor("G7x0y2", this);} // tgen
+
+static void Test_G7x0y2()
+{
+ extern Class_Descriptor cd_G7x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x0y2, buf);
+ G7x0y2 *dp, &lv = *(dp=new (buf) G7x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y2)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(40,28), "G7x0y2");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), 0, "G7x0y2");
+ check_base_class_offset(lv, (C7*)(E7x0*), 0, "G7x0y2");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(16,12), "G7x0y2");
+ check_base_class_offset(lv, (E7x0*), 0, "G7x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G7x0y2.ff");
+ test_class_info(&lv, &cd_G7x0y2);
+ dp->~G7x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y2(Test_G7x0y2, "G7x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y2C1Ev();
+extern void _ZN6G7x0y2D1Ev();
+Name_Map name_map_G7x0y2[] = {
+ NSPAIR(_ZN6G7x0y2C1Ev),
+ NSPAIR(_ZN6G7x0y2D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x0y2[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y2[] = {
+ {&(_ZTV6G7x0y2[4]), 4,16},
+ {&(_tg__ZTV4E7x0__6G7x0y2[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y2[3]), 3,4},
+ {&(_ZTV6G7x0y2[11]), 11,16},
+ {&(_ZTV6G7x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G7x0y2[];
+extern VTBL_ENTRY _ZTV6G7x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y2[];
+Class_Descriptor cd_G7x0y2 = { "G7x0y2", // class name
+ bases_G7x0y2, 6,
+ &(vtc_G7x0y2[0]), // expected_vtbl_contents
+ &(vtt_G7x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y2),7, //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 G7x0y3 : virtual E7x0 , virtual F1 {
+ int ff;
+ ~G7x0y3(); // tgen
+ G7x0y3(); // tgen
+};
+//SIG(1 G7x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x0y3 ::~G7x0y3(){ note_dtor("G7x0y3", this);} // tgen
+G7x0y3 ::G7x0y3(){ note_ctor("G7x0y3", this);} // tgen
+
+static void Test_G7x0y3()
+{
+ extern Class_Descriptor cd_G7x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x0y3, buf);
+ G7x0y3 *dp, &lv = *(dp=new (buf) G7x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y3)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(48,32), "G7x0y3");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), ABISELECT(16,8), "G7x0y3");
+ check_base_class_offset(lv, (C7*)(E7x0*), ABISELECT(16,8), "G7x0y3");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(32,20), "G7x0y3");
+ check_base_class_offset(lv, (E7x0*), ABISELECT(16,8), "G7x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x0y3.ff");
+ test_class_info(&lv, &cd_G7x0y3);
+ dp->~G7x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y3(Test_G7x0y3, "G7x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y3C1Ev();
+extern void _ZN6G7x0y3D1Ev();
+Name_Map name_map_G7x0y3[] = {
+ NSPAIR(_ZN6G7x0y3C1Ev),
+ NSPAIR(_ZN6G7x0y3D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x0y3[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y3[] = {
+ {&(_ZTV6G7x0y3[5]), 5,21},
+ {&(_ZTV6G7x0y3[9]), 9,21},
+ {&(_ZTV6G7x0y3[16]), 16,21},
+ {&(_ZTV6G7x0y3[12]), 12,21},
+ {&(_ZTV6G7x0y3[20]), 20,21},
+ {&(_tg__ZTV4E7x0__6G7x0y3[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x0y3[];
+extern VTBL_ENTRY _ZTV6G7x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y3[];
+Class_Descriptor cd_G7x0y3 = { "G7x0y3", // class name
+ bases_G7x0y3, 6,
+ &(vtc_G7x0y3[0]), // expected_vtbl_contents
+ &(vtt_G7x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y3),9, //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 G7x0y4 : E7x0 , F0 {
+ int ff;
+ ~G7x0y4(); // tgen
+ G7x0y4(); // tgen
+};
+//SIG(1 G7x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x0y4 ::~G7x0y4(){ note_dtor("G7x0y4", this);} // tgen
+G7x0y4 ::G7x0y4(){ note_ctor("G7x0y4", this);} // tgen
+
+static void Test_G7x0y4()
+{
+ extern Class_Descriptor cd_G7x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x0y4, buf);
+ G7x0y4 *dp, &lv = *(dp=new (buf) G7x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y4)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(40,32), "G7x0y4");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), 0, "G7x0y4");
+ check_base_class_offset(lv, (C7*)(E7x0*), 0, "G7x0y4");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(16,12), "G7x0y4");
+ check_base_class_offset(lv, (E7x0*), 0, "G7x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G7x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G7x0y4.ff");
+ test_class_info(&lv, &cd_G7x0y4);
+ dp->~G7x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y4(Test_G7x0y4, "G7x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y4C1Ev();
+extern void _ZN6G7x0y4D1Ev();
+Name_Map name_map_G7x0y4[] = {
+ NSPAIR(_ZN6G7x0y4C1Ev),
+ NSPAIR(_ZN6G7x0y4D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x0y4[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y4[] = {
+ {&(_ZTV6G7x0y4[3]), 3,11},
+ {&(_tg__ZTV4E7x0__6G7x0y4[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y4[3]), 3,4},
+ {&(_ZTV6G7x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G7x0y4[];
+extern VTBL_ENTRY _ZTV6G7x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y4[];
+Class_Descriptor cd_G7x0y4 = { "G7x0y4", // class name
+ bases_G7x0y4, 6,
+ &(vtc_G7x0y4[0]), // expected_vtbl_contents
+ &(vtt_G7x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y4),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 G7x0y5 : virtual E7x0 , F0 {
+ int ff;
+ ~G7x0y5(); // tgen
+ G7x0y5(); // tgen
+};
+//SIG(1 G7x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x0y5 ::~G7x0y5(){ note_dtor("G7x0y5", this);} // tgen
+G7x0y5 ::G7x0y5(){ note_ctor("G7x0y5", this);} // tgen
+
+static void Test_G7x0y5()
+{
+ extern Class_Descriptor cd_G7x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x0y5, buf);
+ G7x0y5 *dp, &lv = *(dp=new (buf) G7x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y5)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(48,36), "G7x0y5");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), ABISELECT(16,12), "G7x0y5");
+ check_base_class_offset(lv, (C7*)(E7x0*), ABISELECT(16,12), "G7x0y5");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(32,24), "G7x0y5");
+ check_base_class_offset(lv, (E7x0*), ABISELECT(16,12), "G7x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x0y5.ff");
+ test_class_info(&lv, &cd_G7x0y5);
+ dp->~G7x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y5(Test_G7x0y5, "G7x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y5C1Ev();
+extern void _ZN6G7x0y5D1Ev();
+Name_Map name_map_G7x0y5[] = {
+ NSPAIR(_ZN6G7x0y5C1Ev),
+ NSPAIR(_ZN6G7x0y5D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x0y5[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y5[] = {
+ {&(_ZTV6G7x0y5[4]), 4,16},
+ {&(_ZTV6G7x0y5[8]), 8,16},
+ {&(_ZTV6G7x0y5[15]), 15,16},
+ {&(_ZTV6G7x0y5[11]), 11,16},
+ {&(_tg__ZTV4E7x0__6G7x0y5[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x0y5[];
+extern VTBL_ENTRY _ZTV6G7x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y5[];
+Class_Descriptor cd_G7x0y5 = { "G7x0y5", // class name
+ bases_G7x0y5, 6,
+ &(vtc_G7x0y5[0]), // expected_vtbl_contents
+ &(vtt_G7x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y5),8, //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 G7x0y6 : E7x0 , virtual F0 {
+ int ff;
+ ~G7x0y6(); // tgen
+ G7x0y6(); // tgen
+};
+//SIG(1 G7x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x0y6 ::~G7x0y6(){ note_dtor("G7x0y6", this);} // tgen
+G7x0y6 ::G7x0y6(){ note_ctor("G7x0y6", this);} // tgen
+
+static void Test_G7x0y6()
+{
+ extern Class_Descriptor cd_G7x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x0y6, buf);
+ G7x0y6 *dp, &lv = *(dp=new (buf) G7x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y6)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(40,28), "G7x0y6");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), 0, "G7x0y6");
+ check_base_class_offset(lv, (C7*)(E7x0*), 0, "G7x0y6");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(16,12), "G7x0y6");
+ check_base_class_offset(lv, (E7x0*), 0, "G7x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G7x0y6.ff");
+ test_class_info(&lv, &cd_G7x0y6);
+ dp->~G7x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y6(Test_G7x0y6, "G7x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y6C1Ev();
+extern void _ZN6G7x0y6D1Ev();
+Name_Map name_map_G7x0y6[] = {
+ NSPAIR(_ZN6G7x0y6C1Ev),
+ NSPAIR(_ZN6G7x0y6D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x0y6[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y6[] = {
+ {&(_ZTV6G7x0y6[4]), 4,12},
+ {&(_tg__ZTV4E7x0__6G7x0y6[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y6[3]), 3,4},
+ {&(_ZTV6G7x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G7x0y6[];
+extern VTBL_ENTRY _ZTV6G7x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y6[];
+Class_Descriptor cd_G7x0y6 = { "G7x0y6", // class name
+ bases_G7x0y6, 6,
+ &(vtc_G7x0y6[0]), // expected_vtbl_contents
+ &(vtt_G7x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y6),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 G7x0y7 : virtual E7x0 , virtual F0 {
+ int ff;
+ ~G7x0y7(); // tgen
+ G7x0y7(); // tgen
+};
+//SIG(1 G7x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x0y7 ::~G7x0y7(){ note_dtor("G7x0y7", this);} // tgen
+G7x0y7 ::G7x0y7(){ note_ctor("G7x0y7", this);} // tgen
+
+static void Test_G7x0y7()
+{
+ extern Class_Descriptor cd_G7x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x0y7, buf);
+ G7x0y7 *dp, &lv = *(dp=new (buf) G7x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x0y7)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x0*), ABISELECT(48,32), "G7x0y7");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x0*), ABISELECT(16,8), "G7x0y7");
+ check_base_class_offset(lv, (C7*)(E7x0*), ABISELECT(16,8), "G7x0y7");
+ check_base_class_offset(lv, (D1*)(E7x0*), ABISELECT(32,20), "G7x0y7");
+ check_base_class_offset(lv, (E7x0*), ABISELECT(16,8), "G7x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G7x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x0y7.ff");
+ test_class_info(&lv, &cd_G7x0y7);
+ dp->~G7x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x0y7(Test_G7x0y7, "G7x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x0y7C1Ev();
+extern void _ZN6G7x0y7D1Ev();
+Name_Map name_map_G7x0y7[] = {
+ NSPAIR(_ZN6G7x0y7C1Ev),
+ NSPAIR(_ZN6G7x0y7D1Ev),
+ {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_E7x0;
+extern VTBL_ENTRY _ZTI4E7x0[];
+extern VTBL_ENTRY _ZTV4E7x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x0y7[] = {
+ // 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_E7x0, 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 _ZTI6G7x0y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x0y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x0__6G7x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x0__6G7x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x0__6G7x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x0__6G7x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x0y7[] = {
+ {&(_ZTV6G7x0y7[5]), 5,17},
+ {&(_ZTV6G7x0y7[9]), 9,17},
+ {&(_ZTV6G7x0y7[16]), 16,17},
+ {&(_ZTV6G7x0y7[12]), 12,17},
+ {&(_tg__ZTV4E7x0__6G7x0y7[3]), 3,4},
+ {&(_tg__ZTV2C74E7x0__6G7x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x0__6G7x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x0__6G7x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x0y7[];
+extern VTBL_ENTRY _ZTV6G7x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x0y7[];
+Class_Descriptor cd_G7x0y7 = { "G7x0y7", // class name
+ bases_G7x0y7, 6,
+ &(vtc_G7x0y7[0]), // expected_vtbl_contents
+ &(vtt_G7x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x0y7),8, //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 E8x0 : C8 , D1 {
+ int fd;
+ ~E8x0(); // tgen
+ E8x0(); // tgen
+};
+//SIG(-1 E8x0) C1{ BC2{ BC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E8x0 ::~E8x0(){ note_dtor("E8x0", this);} // tgen
+E8x0 ::E8x0(){ note_ctor("E8x0", this);} // tgen
+
+static void Test_E8x0()
+{
+ extern Class_Descriptor cd_E8x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x0, buf);
+ E8x0 *dp, &lv = *(dp=new (buf) E8x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x0)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(8,4), "E8x0");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "E8x0");
+ check_base_class_offset(lv, (C8*), 0, "E8x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E8x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E8x0.fd");
+ test_class_info(&lv, &cd_E8x0);
+ dp->~E8x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x0(Test_E8x0, "E8x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x0C1Ev();
+extern void _ZN4E8x0D1Ev();
+Name_Map name_map_E8x0[] = {
+ NSPAIR(_ZN4E8x0C1Ev),
+ NSPAIR(_ZN4E8x0D1Ev),
+ {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_E8x0[] = {
+ // 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
+ 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 _ZTI4E8x0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E8x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E8x0[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x0[] = {
+ {&(_ZTV4E8x0[3]), 3,6},
+ {&(_tg__ZTV2C8__4E8x0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+Class_Descriptor cd_E8x0 = { "E8x0", // class name
+ bases_E8x0, 4,
+ &(vtc_E8x0[0]), // expected_vtbl_contents
+ &(vtt_E8x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x0),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 G8x0y0 : E8x0 , F1 {
+ int ff;
+ ~G8x0y0(); // tgen
+ G8x0y0(); // tgen
+};
+//SIG(1 G8x0y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x0y0 ::~G8x0y0(){ note_dtor("G8x0y0", this);} // tgen
+G8x0y0 ::G8x0y0(){ note_ctor("G8x0y0", this);} // tgen
+
+static void Test_G8x0y0()
+{
+ extern Class_Descriptor cd_G8x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x0y0, buf);
+ G8x0y0 *dp, &lv = *(dp=new (buf) G8x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y0)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(8,4), "G8x0y0");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(48,36), "G8x0y0");
+ check_base_class_offset(lv, (C8*)(E8x0*), 0, "G8x0y0");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(16,12), "G8x0y0");
+ check_base_class_offset(lv, (E8x0*), 0, "G8x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G8x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G8x0y0.ff");
+ test_class_info(&lv, &cd_G8x0y0);
+ dp->~G8x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y0(Test_G8x0y0, "G8x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y0C1Ev();
+extern void _ZN6G8x0y0D1Ev();
+Name_Map name_map_G8x0y0[] = {
+ NSPAIR(_ZN6G8x0y0C1Ev),
+ NSPAIR(_ZN6G8x0y0D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x0y0[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x0, 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
+ 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 _ZTI6G8x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y0[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y0[] = {
+ {&(_ZTV6G8x0y0[3]), 3,9},
+ {&(_tg__ZTV4E8x0__6G8x0y0[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y0[];
+extern VTBL_ENTRY _ZTV6G8x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y0[];
+Class_Descriptor cd_G8x0y0 = { "G8x0y0", // class name
+ bases_G8x0y0, 6,
+ &(vtc_G8x0y0[0]), // expected_vtbl_contents
+ &(vtt_G8x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y0),9, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y0),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 G8x0y1 : virtual E8x0 , F1 {
+ int ff;
+ ~G8x0y1(); // tgen
+ G8x0y1(); // tgen
+};
+//SIG(1 G8x0y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x0y1 ::~G8x0y1(){ note_dtor("G8x0y1", this);} // tgen
+G8x0y1 ::G8x0y1(){ note_ctor("G8x0y1", this);} // tgen
+
+static void Test_G8x0y1()
+{
+ extern Class_Descriptor cd_G8x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x0y1, buf);
+ G8x0y1 *dp, &lv = *(dp=new (buf) G8x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y1)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(24,16), "G8x0y1");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(48,36), "G8x0y1");
+ check_base_class_offset(lv, (C8*)(E8x0*), ABISELECT(16,12), "G8x0y1");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(32,24), "G8x0y1");
+ check_base_class_offset(lv, (E8x0*), ABISELECT(16,12), "G8x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x0y1.ff");
+ test_class_info(&lv, &cd_G8x0y1);
+ dp->~G8x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y1(Test_G8x0y1, "G8x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y1C1Ev();
+extern void _ZN6G8x0y1D1Ev();
+Name_Map name_map_G8x0y1[] = {
+ NSPAIR(_ZN6G8x0y1C1Ev),
+ NSPAIR(_ZN6G8x0y1D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x0y1[] = {
+ // 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_E8x0, 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 _ZTI6G8x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y1[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y1[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y1[] = {
+ {&(_ZTV6G8x0y1[4]), 4,12},
+ {&(_ZTV6G8x0y1[9]), 9,12},
+ {&(_ZTV6G8x0y1[11]), 11,12},
+ {&(_tg__ZTV4E8x0__6G8x0y1[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y1[];
+extern VTBL_ENTRY _ZTV6G8x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y1[];
+Class_Descriptor cd_G8x0y1 = { "G8x0y1", // class name
+ bases_G8x0y1, 6,
+ &(vtc_G8x0y1[0]), // expected_vtbl_contents
+ &(vtt_G8x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y1),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 G8x0y2 : E8x0 , virtual F1 {
+ int ff;
+ ~G8x0y2(); // tgen
+ G8x0y2(); // tgen
+};
+//SIG(1 G8x0y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x0y2 ::~G8x0y2(){ note_dtor("G8x0y2", this);} // tgen
+G8x0y2 ::G8x0y2(){ note_ctor("G8x0y2", this);} // tgen
+
+static void Test_G8x0y2()
+{
+ extern Class_Descriptor cd_G8x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x0y2, buf);
+ G8x0y2 *dp, &lv = *(dp=new (buf) G8x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y2)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(8,4), "G8x0y2");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(36,28), "G8x0y2");
+ check_base_class_offset(lv, (C8*)(E8x0*), 0, "G8x0y2");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(16,12), "G8x0y2");
+ check_base_class_offset(lv, (E8x0*), 0, "G8x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G8x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G8x0y2.ff");
+ test_class_info(&lv, &cd_G8x0y2);
+ dp->~G8x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y2(Test_G8x0y2, "G8x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y2C1Ev();
+extern void _ZN6G8x0y2D1Ev();
+Name_Map name_map_G8x0y2[] = {
+ NSPAIR(_ZN6G8x0y2C1Ev),
+ NSPAIR(_ZN6G8x0y2D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x0y2[] = {
+ // 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
+ 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_E8x0, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y2[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y2[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y2[] = {
+ {&(_ZTV6G8x0y2[4]), 4,11},
+ {&(_tg__ZTV4E8x0__6G8x0y2[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y2[3]), 3,3},
+ {&(_ZTV6G8x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G8x0y2[];
+extern VTBL_ENTRY _ZTV6G8x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y2[];
+Class_Descriptor cd_G8x0y2 = { "G8x0y2", // class name
+ bases_G8x0y2, 6,
+ &(vtc_G8x0y2[0]), // expected_vtbl_contents
+ &(vtt_G8x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y2),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y2),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 G8x0y3 : virtual E8x0 , virtual F1 {
+ int ff;
+ ~G8x0y3(); // tgen
+ G8x0y3(); // tgen
+};
+//SIG(1 G8x0y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x0y3 ::~G8x0y3(){ note_dtor("G8x0y3", this);} // tgen
+G8x0y3 ::G8x0y3(){ note_ctor("G8x0y3", this);} // tgen
+
+static void Test_G8x0y3()
+{
+ extern Class_Descriptor cd_G8x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x0y3, buf);
+ G8x0y3 *dp, &lv = *(dp=new (buf) G8x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y3)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(24,12), "G8x0y3");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(48,32), "G8x0y3");
+ check_base_class_offset(lv, (C8*)(E8x0*), ABISELECT(16,8), "G8x0y3");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(32,20), "G8x0y3");
+ check_base_class_offset(lv, (E8x0*), ABISELECT(16,8), "G8x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x0y3.ff");
+ test_class_info(&lv, &cd_G8x0y3);
+ dp->~G8x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y3(Test_G8x0y3, "G8x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y3C1Ev();
+extern void _ZN6G8x0y3D1Ev();
+Name_Map name_map_G8x0y3[] = {
+ NSPAIR(_ZN6G8x0y3C1Ev),
+ NSPAIR(_ZN6G8x0y3D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x0y3[] = {
+ // 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
+ 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_E8x0, 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
+ 12, //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 _ZTI6G8x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x0y3[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y3[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y3[] = {
+ {&(_ZTV6G8x0y3[5]), 5,16},
+ {&(_ZTV6G8x0y3[9]), 9,16},
+ {&(_ZTV6G8x0y3[11]), 11,16},
+ {&(_ZTV6G8x0y3[15]), 15,16},
+ {&(_tg__ZTV4E8x0__6G8x0y3[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y3[];
+extern VTBL_ENTRY _ZTV6G8x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y3[];
+Class_Descriptor cd_G8x0y3 = { "G8x0y3", // class name
+ bases_G8x0y3, 6,
+ &(vtc_G8x0y3[0]), // expected_vtbl_contents
+ &(vtt_G8x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y3),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 G8x0y4 : E8x0 , F0 {
+ int ff;
+ ~G8x0y4(); // tgen
+ G8x0y4(); // tgen
+};
+//SIG(1 G8x0y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x0y4 ::~G8x0y4(){ note_dtor("G8x0y4", this);} // tgen
+G8x0y4 ::G8x0y4(){ note_ctor("G8x0y4", this);} // tgen
+
+static void Test_G8x0y4()
+{
+ extern Class_Descriptor cd_G8x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x0y4, buf);
+ G8x0y4 *dp, &lv = *(dp=new (buf) G8x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y4)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(8,4), "G8x0y4");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(40,32), "G8x0y4");
+ check_base_class_offset(lv, (C8*)(E8x0*), 0, "G8x0y4");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(16,12), "G8x0y4");
+ check_base_class_offset(lv, (E8x0*), 0, "G8x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G8x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G8x0y4.ff");
+ test_class_info(&lv, &cd_G8x0y4);
+ dp->~G8x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y4(Test_G8x0y4, "G8x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y4C1Ev();
+extern void _ZN6G8x0y4D1Ev();
+Name_Map name_map_G8x0y4[] = {
+ NSPAIR(_ZN6G8x0y4C1Ev),
+ NSPAIR(_ZN6G8x0y4D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x0y4[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x0, 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 _ZTI6G8x0y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y4[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y4[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y4[] = {
+ {&(_ZTV6G8x0y4[3]), 3,6},
+ {&(_tg__ZTV4E8x0__6G8x0y4[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y4[];
+extern VTBL_ENTRY _ZTV6G8x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y4[];
+Class_Descriptor cd_G8x0y4 = { "G8x0y4", // class name
+ bases_G8x0y4, 6,
+ &(vtc_G8x0y4[0]), // expected_vtbl_contents
+ &(vtt_G8x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y4),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y4),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 G8x0y5 : virtual E8x0 , F0 {
+ int ff;
+ ~G8x0y5(); // tgen
+ G8x0y5(); // tgen
+};
+//SIG(1 G8x0y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x0y5 ::~G8x0y5(){ note_dtor("G8x0y5", this);} // tgen
+G8x0y5 ::G8x0y5(){ note_ctor("G8x0y5", this);} // tgen
+
+static void Test_G8x0y5()
+{
+ extern Class_Descriptor cd_G8x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x0y5, buf);
+ G8x0y5 *dp, &lv = *(dp=new (buf) G8x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y5)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(24,16), "G8x0y5");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(48,36), "G8x0y5");
+ check_base_class_offset(lv, (C8*)(E8x0*), ABISELECT(16,12), "G8x0y5");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(32,24), "G8x0y5");
+ check_base_class_offset(lv, (E8x0*), ABISELECT(16,12), "G8x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x0y5.ff");
+ test_class_info(&lv, &cd_G8x0y5);
+ dp->~G8x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y5(Test_G8x0y5, "G8x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y5C1Ev();
+extern void _ZN6G8x0y5D1Ev();
+Name_Map name_map_G8x0y5[] = {
+ NSPAIR(_ZN6G8x0y5C1Ev),
+ NSPAIR(_ZN6G8x0y5D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x0y5[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x0, 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 _ZTI6G8x0y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y5[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y5[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y5[] = {
+ {&(_ZTV6G8x0y5[4]), 4,11},
+ {&(_ZTV6G8x0y5[8]), 8,11},
+ {&(_ZTV6G8x0y5[10]), 10,11},
+ {&(_tg__ZTV4E8x0__6G8x0y5[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y5[];
+extern VTBL_ENTRY _ZTV6G8x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y5[];
+Class_Descriptor cd_G8x0y5 = { "G8x0y5", // class name
+ bases_G8x0y5, 6,
+ &(vtc_G8x0y5[0]), // expected_vtbl_contents
+ &(vtt_G8x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y5),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 G8x0y6 : E8x0 , virtual F0 {
+ int ff;
+ ~G8x0y6(); // tgen
+ G8x0y6(); // tgen
+};
+//SIG(1 G8x0y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x0y6 ::~G8x0y6(){ note_dtor("G8x0y6", this);} // tgen
+G8x0y6 ::G8x0y6(){ note_ctor("G8x0y6", this);} // tgen
+
+static void Test_G8x0y6()
+{
+ extern Class_Descriptor cd_G8x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x0y6, buf);
+ G8x0y6 *dp, &lv = *(dp=new (buf) G8x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y6)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(8,4), "G8x0y6");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(36,28), "G8x0y6");
+ check_base_class_offset(lv, (C8*)(E8x0*), 0, "G8x0y6");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(16,12), "G8x0y6");
+ check_base_class_offset(lv, (E8x0*), 0, "G8x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G8x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G8x0y6.ff");
+ test_class_info(&lv, &cd_G8x0y6);
+ dp->~G8x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y6(Test_G8x0y6, "G8x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y6C1Ev();
+extern void _ZN6G8x0y6D1Ev();
+Name_Map name_map_G8x0y6[] = {
+ NSPAIR(_ZN6G8x0y6C1Ev),
+ NSPAIR(_ZN6G8x0y6D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x0y6[] = {
+ // 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
+ 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_E8x0, 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 _ZTI6G8x0y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y6[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y6[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y6[] = {
+ {&(_ZTV6G8x0y6[4]), 4,7},
+ {&(_tg__ZTV4E8x0__6G8x0y6[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y6[];
+extern VTBL_ENTRY _ZTV6G8x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y6[];
+Class_Descriptor cd_G8x0y6 = { "G8x0y6", // class name
+ bases_G8x0y6, 6,
+ &(vtc_G8x0y6[0]), // expected_vtbl_contents
+ &(vtt_G8x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y6),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y6),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 G8x0y7 : virtual E8x0 , virtual F0 {
+ int ff;
+ ~G8x0y7(); // tgen
+ G8x0y7(); // tgen
+};
+//SIG(1 G8x0y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x0y7 ::~G8x0y7(){ note_dtor("G8x0y7", this);} // tgen
+G8x0y7 ::G8x0y7(){ note_ctor("G8x0y7", this);} // tgen
+
+static void Test_G8x0y7()
+{
+ extern Class_Descriptor cd_G8x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x0y7, buf);
+ G8x0y7 *dp, &lv = *(dp=new (buf) G8x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x0y7)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x0*), ABISELECT(24,12), "G8x0y7");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x0*), ABISELECT(48,32), "G8x0y7");
+ check_base_class_offset(lv, (C8*)(E8x0*), ABISELECT(16,8), "G8x0y7");
+ check_base_class_offset(lv, (D1*)(E8x0*), ABISELECT(32,20), "G8x0y7");
+ check_base_class_offset(lv, (E8x0*), ABISELECT(16,8), "G8x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x0y7.ff");
+ test_class_info(&lv, &cd_G8x0y7);
+ dp->~G8x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x0y7(Test_G8x0y7, "G8x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x0y7C1Ev();
+extern void _ZN6G8x0y7D1Ev();
+Name_Map name_map_G8x0y7[] = {
+ NSPAIR(_ZN6G8x0y7C1Ev),
+ NSPAIR(_ZN6G8x0y7D1Ev),
+ {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_E8x0;
+extern VTBL_ENTRY _ZTI4E8x0[];
+extern VTBL_ENTRY _ZTV4E8x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x0y7[] = {
+ // 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
+ 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_E8x0, 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 _ZTI6G8x0y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x0y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x0y7[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x0y7[];
+static VTBL_ENTRY _tg__ZTV4E8x0__6G8x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x0__6G8x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x0y7[] = {
+ {&(_ZTV6G8x0y7[5]), 5,12},
+ {&(_ZTV6G8x0y7[9]), 9,12},
+ {&(_ZTV6G8x0y7[11]), 11,12},
+ {&(_tg__ZTV4E8x0__6G8x0y7[3]), 3,3},
+ {&(_tg__ZTV2C84E8x0__6G8x0y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x0y7[];
+extern VTBL_ENTRY _ZTV6G8x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x0y7[];
+Class_Descriptor cd_G8x0y7 = { "G8x0y7", // class name
+ bases_G8x0y7, 6,
+ &(vtc_G8x0y7[0]), // expected_vtbl_contents
+ &(vtt_G8x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x0y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x0y7),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 E9x0 : C9 , D1 {
+ int fd;
+ ~E9x0(); // tgen
+ E9x0(); // tgen
+};
+//SIG(-1 E9x0) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E9x0 ::~E9x0(){ note_dtor("E9x0", this);} // tgen
+E9x0 ::E9x0(){ note_ctor("E9x0", this);} // tgen
+
+static void Test_E9x0()
+{
+ extern Class_Descriptor cd_E9x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x0, buf);
+ E9x0 *dp, &lv = *(dp=new (buf) E9x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x0)");
+ check_base_class_offset(lv, (A1*)(C9*), 0, "E9x0");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "E9x0");
+ check_base_class_offset(lv, (C9*), 0, "E9x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E9x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E9x0.fd");
+ test_class_info(&lv, &cd_E9x0);
+ dp->~E9x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x0(Test_E9x0, "E9x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x0C1Ev();
+extern void _ZN4E9x0D1Ev();
+Name_Map name_map_E9x0[] = {
+ NSPAIR(_ZN4E9x0C1Ev),
+ NSPAIR(_ZN4E9x0D1Ev),
+ {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_E9x0[] = {
+ // 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 _ZTI4E9x0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E9x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x0[] = {
+ {&(_ZTV4E9x0[3]), 3,7},
+ {&(_tg__ZTV2C9__4E9x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+Class_Descriptor cd_E9x0 = { "E9x0", // class name
+ bases_E9x0, 4,
+ &(vtc_E9x0[0]), // expected_vtbl_contents
+ &(vtt_E9x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x0),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 G9x0y0 : E9x0 , F1 {
+ int ff;
+ ~G9x0y0(); // tgen
+ G9x0y0(); // tgen
+};
+//SIG(1 G9x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x0y0 ::~G9x0y0(){ note_dtor("G9x0y0", this);} // tgen
+G9x0y0 ::G9x0y0(){ note_ctor("G9x0y0", this);} // tgen
+
+static void Test_G9x0y0()
+{
+ extern Class_Descriptor cd_G9x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x0y0, buf);
+ G9x0y0 *dp, &lv = *(dp=new (buf) G9x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y0)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), 0, "G9x0y0");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(48,36), "G9x0y0");
+ check_base_class_offset(lv, (C9*)(E9x0*), 0, "G9x0y0");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(16,12), "G9x0y0");
+ check_base_class_offset(lv, (E9x0*), 0, "G9x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G9x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G9x0y0.ff");
+ test_class_info(&lv, &cd_G9x0y0);
+ dp->~G9x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y0(Test_G9x0y0, "G9x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y0C1Ev();
+extern void _ZN6G9x0y0D1Ev();
+Name_Map name_map_G9x0y0[] = {
+ NSPAIR(_ZN6G9x0y0C1Ev),
+ NSPAIR(_ZN6G9x0y0D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x0y0[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y0[] = {
+ {&(_ZTV6G9x0y0[3]), 3,10},
+ {&(_tg__ZTV4E9x0__6G9x0y0[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y0[];
+extern VTBL_ENTRY _ZTV6G9x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y0[];
+Class_Descriptor cd_G9x0y0 = { "G9x0y0", // class name
+ bases_G9x0y0, 6,
+ &(vtc_G9x0y0[0]), // expected_vtbl_contents
+ &(vtt_G9x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y0),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 G9x0y1 : virtual E9x0 , F1 {
+ int ff;
+ ~G9x0y1(); // tgen
+ G9x0y1(); // tgen
+};
+//SIG(1 G9x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x0y1 ::~G9x0y1(){ note_dtor("G9x0y1", this);} // tgen
+G9x0y1 ::G9x0y1(){ note_ctor("G9x0y1", this);} // tgen
+
+static void Test_G9x0y1()
+{
+ extern Class_Descriptor cd_G9x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x0y1, buf);
+ G9x0y1 *dp, &lv = *(dp=new (buf) G9x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y1)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), ABISELECT(16,12), "G9x0y1");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(48,36), "G9x0y1");
+ check_base_class_offset(lv, (C9*)(E9x0*), ABISELECT(16,12), "G9x0y1");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(32,24), "G9x0y1");
+ check_base_class_offset(lv, (E9x0*), ABISELECT(16,12), "G9x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x0y1.ff");
+ test_class_info(&lv, &cd_G9x0y1);
+ dp->~G9x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y1(Test_G9x0y1, "G9x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y1C1Ev();
+extern void _ZN6G9x0y1D1Ev();
+Name_Map name_map_G9x0y1[] = {
+ NSPAIR(_ZN6G9x0y1C1Ev),
+ NSPAIR(_ZN6G9x0y1D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x0y1[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y1[] = {
+ {&(_ZTV6G9x0y1[4]), 4,13},
+ {&(_ZTV6G9x0y1[9]), 9,13},
+ {&(_ZTV6G9x0y1[12]), 12,13},
+ {&(_tg__ZTV4E9x0__6G9x0y1[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y1[];
+extern VTBL_ENTRY _ZTV6G9x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y1[];
+Class_Descriptor cd_G9x0y1 = { "G9x0y1", // class name
+ bases_G9x0y1, 6,
+ &(vtc_G9x0y1[0]), // expected_vtbl_contents
+ &(vtt_G9x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y1),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 G9x0y2 : E9x0 , virtual F1 {
+ int ff;
+ ~G9x0y2(); // tgen
+ G9x0y2(); // tgen
+};
+//SIG(1 G9x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x0y2 ::~G9x0y2(){ note_dtor("G9x0y2", this);} // tgen
+G9x0y2 ::G9x0y2(){ note_ctor("G9x0y2", this);} // tgen
+
+static void Test_G9x0y2()
+{
+ extern Class_Descriptor cd_G9x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x0y2, buf);
+ G9x0y2 *dp, &lv = *(dp=new (buf) G9x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y2)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), 0, "G9x0y2");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(36,28), "G9x0y2");
+ check_base_class_offset(lv, (C9*)(E9x0*), 0, "G9x0y2");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(16,12), "G9x0y2");
+ check_base_class_offset(lv, (E9x0*), 0, "G9x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G9x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G9x0y2.ff");
+ test_class_info(&lv, &cd_G9x0y2);
+ dp->~G9x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y2(Test_G9x0y2, "G9x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y2C1Ev();
+extern void _ZN6G9x0y2D1Ev();
+Name_Map name_map_G9x0y2[] = {
+ NSPAIR(_ZN6G9x0y2C1Ev),
+ NSPAIR(_ZN6G9x0y2D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x0y2[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y2[] = {
+ {&(_ZTV6G9x0y2[4]), 4,12},
+ {&(_tg__ZTV4E9x0__6G9x0y2[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y2[3]), 3,4},
+ {&(_ZTV6G9x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G9x0y2[];
+extern VTBL_ENTRY _ZTV6G9x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y2[];
+Class_Descriptor cd_G9x0y2 = { "G9x0y2", // class name
+ bases_G9x0y2, 6,
+ &(vtc_G9x0y2[0]), // expected_vtbl_contents
+ &(vtt_G9x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y2),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 G9x0y3 : virtual E9x0 , virtual F1 {
+ int ff;
+ ~G9x0y3(); // tgen
+ G9x0y3(); // tgen
+};
+//SIG(1 G9x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x0y3 ::~G9x0y3(){ note_dtor("G9x0y3", this);} // tgen
+G9x0y3 ::G9x0y3(){ note_ctor("G9x0y3", this);} // tgen
+
+static void Test_G9x0y3()
+{
+ extern Class_Descriptor cd_G9x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x0y3, buf);
+ G9x0y3 *dp, &lv = *(dp=new (buf) G9x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y3)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), ABISELECT(16,8), "G9x0y3");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(48,32), "G9x0y3");
+ check_base_class_offset(lv, (C9*)(E9x0*), ABISELECT(16,8), "G9x0y3");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(32,20), "G9x0y3");
+ check_base_class_offset(lv, (E9x0*), ABISELECT(16,8), "G9x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x0y3.ff");
+ test_class_info(&lv, &cd_G9x0y3);
+ dp->~G9x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y3(Test_G9x0y3, "G9x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y3C1Ev();
+extern void _ZN6G9x0y3D1Ev();
+Name_Map name_map_G9x0y3[] = {
+ NSPAIR(_ZN6G9x0y3C1Ev),
+ NSPAIR(_ZN6G9x0y3D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x0y3[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y3[] = {
+ {&(_ZTV6G9x0y3[5]), 5,17},
+ {&(_ZTV6G9x0y3[9]), 9,17},
+ {&(_ZTV6G9x0y3[12]), 12,17},
+ {&(_ZTV6G9x0y3[16]), 16,17},
+ {&(_tg__ZTV4E9x0__6G9x0y3[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y3[];
+extern VTBL_ENTRY _ZTV6G9x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y3[];
+Class_Descriptor cd_G9x0y3 = { "G9x0y3", // class name
+ bases_G9x0y3, 6,
+ &(vtc_G9x0y3[0]), // expected_vtbl_contents
+ &(vtt_G9x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y3),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 G9x0y4 : E9x0 , F0 {
+ int ff;
+ ~G9x0y4(); // tgen
+ G9x0y4(); // tgen
+};
+//SIG(1 G9x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x0y4 ::~G9x0y4(){ note_dtor("G9x0y4", this);} // tgen
+G9x0y4 ::G9x0y4(){ note_ctor("G9x0y4", this);} // tgen
+
+static void Test_G9x0y4()
+{
+ extern Class_Descriptor cd_G9x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x0y4, buf);
+ G9x0y4 *dp, &lv = *(dp=new (buf) G9x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y4)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), 0, "G9x0y4");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(40,32), "G9x0y4");
+ check_base_class_offset(lv, (C9*)(E9x0*), 0, "G9x0y4");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(16,12), "G9x0y4");
+ check_base_class_offset(lv, (E9x0*), 0, "G9x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G9x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G9x0y4.ff");
+ test_class_info(&lv, &cd_G9x0y4);
+ dp->~G9x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y4(Test_G9x0y4, "G9x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y4C1Ev();
+extern void _ZN6G9x0y4D1Ev();
+Name_Map name_map_G9x0y4[] = {
+ NSPAIR(_ZN6G9x0y4C1Ev),
+ NSPAIR(_ZN6G9x0y4D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x0y4[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y4[] = {
+ {&(_ZTV6G9x0y4[3]), 3,7},
+ {&(_tg__ZTV4E9x0__6G9x0y4[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y4[];
+extern VTBL_ENTRY _ZTV6G9x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y4[];
+Class_Descriptor cd_G9x0y4 = { "G9x0y4", // class name
+ bases_G9x0y4, 6,
+ &(vtc_G9x0y4[0]), // expected_vtbl_contents
+ &(vtt_G9x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y4),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 G9x0y5 : virtual E9x0 , F0 {
+ int ff;
+ ~G9x0y5(); // tgen
+ G9x0y5(); // tgen
+};
+//SIG(1 G9x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x0y5 ::~G9x0y5(){ note_dtor("G9x0y5", this);} // tgen
+G9x0y5 ::G9x0y5(){ note_ctor("G9x0y5", this);} // tgen
+
+static void Test_G9x0y5()
+{
+ extern Class_Descriptor cd_G9x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x0y5, buf);
+ G9x0y5 *dp, &lv = *(dp=new (buf) G9x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y5)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), ABISELECT(16,12), "G9x0y5");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(48,36), "G9x0y5");
+ check_base_class_offset(lv, (C9*)(E9x0*), ABISELECT(16,12), "G9x0y5");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(32,24), "G9x0y5");
+ check_base_class_offset(lv, (E9x0*), ABISELECT(16,12), "G9x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x0y5.ff");
+ test_class_info(&lv, &cd_G9x0y5);
+ dp->~G9x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y5(Test_G9x0y5, "G9x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y5C1Ev();
+extern void _ZN6G9x0y5D1Ev();
+Name_Map name_map_G9x0y5[] = {
+ NSPAIR(_ZN6G9x0y5C1Ev),
+ NSPAIR(_ZN6G9x0y5D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x0y5[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y5[] = {
+ {&(_ZTV6G9x0y5[4]), 4,12},
+ {&(_ZTV6G9x0y5[8]), 8,12},
+ {&(_ZTV6G9x0y5[11]), 11,12},
+ {&(_tg__ZTV4E9x0__6G9x0y5[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y5[];
+extern VTBL_ENTRY _ZTV6G9x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y5[];
+Class_Descriptor cd_G9x0y5 = { "G9x0y5", // class name
+ bases_G9x0y5, 6,
+ &(vtc_G9x0y5[0]), // expected_vtbl_contents
+ &(vtt_G9x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y5),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 G9x0y6 : E9x0 , virtual F0 {
+ int ff;
+ ~G9x0y6(); // tgen
+ G9x0y6(); // tgen
+};
+//SIG(1 G9x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x0y6 ::~G9x0y6(){ note_dtor("G9x0y6", this);} // tgen
+G9x0y6 ::G9x0y6(){ note_ctor("G9x0y6", this);} // tgen
+
+static void Test_G9x0y6()
+{
+ extern Class_Descriptor cd_G9x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x0y6, buf);
+ G9x0y6 *dp, &lv = *(dp=new (buf) G9x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y6)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), 0, "G9x0y6");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(36,28), "G9x0y6");
+ check_base_class_offset(lv, (C9*)(E9x0*), 0, "G9x0y6");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(16,12), "G9x0y6");
+ check_base_class_offset(lv, (E9x0*), 0, "G9x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G9x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G9x0y6.ff");
+ test_class_info(&lv, &cd_G9x0y6);
+ dp->~G9x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y6(Test_G9x0y6, "G9x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y6C1Ev();
+extern void _ZN6G9x0y6D1Ev();
+Name_Map name_map_G9x0y6[] = {
+ NSPAIR(_ZN6G9x0y6C1Ev),
+ NSPAIR(_ZN6G9x0y6D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x0y6[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y6[] = {
+ {&(_ZTV6G9x0y6[4]), 4,8},
+ {&(_tg__ZTV4E9x0__6G9x0y6[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y6[];
+extern VTBL_ENTRY _ZTV6G9x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y6[];
+Class_Descriptor cd_G9x0y6 = { "G9x0y6", // class name
+ bases_G9x0y6, 6,
+ &(vtc_G9x0y6[0]), // expected_vtbl_contents
+ &(vtt_G9x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y6),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 G9x0y7 : virtual E9x0 , virtual F0 {
+ int ff;
+ ~G9x0y7(); // tgen
+ G9x0y7(); // tgen
+};
+//SIG(1 G9x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x0y7 ::~G9x0y7(){ note_dtor("G9x0y7", this);} // tgen
+G9x0y7 ::G9x0y7(){ note_ctor("G9x0y7", this);} // tgen
+
+static void Test_G9x0y7()
+{
+ extern Class_Descriptor cd_G9x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x0y7, buf);
+ G9x0y7 *dp, &lv = *(dp=new (buf) G9x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x0y7)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x0*), ABISELECT(16,8), "G9x0y7");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x0*), ABISELECT(48,32), "G9x0y7");
+ check_base_class_offset(lv, (C9*)(E9x0*), ABISELECT(16,8), "G9x0y7");
+ check_base_class_offset(lv, (D1*)(E9x0*), ABISELECT(32,20), "G9x0y7");
+ check_base_class_offset(lv, (E9x0*), ABISELECT(16,8), "G9x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x0y7.ff");
+ test_class_info(&lv, &cd_G9x0y7);
+ dp->~G9x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x0y7(Test_G9x0y7, "G9x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x0y7C1Ev();
+extern void _ZN6G9x0y7D1Ev();
+Name_Map name_map_G9x0y7[] = {
+ NSPAIR(_ZN6G9x0y7C1Ev),
+ NSPAIR(_ZN6G9x0y7D1Ev),
+ {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_E9x0;
+extern VTBL_ENTRY _ZTI4E9x0[];
+extern VTBL_ENTRY _ZTV4E9x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x0y7[] = {
+ // 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_E9x0, 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 _ZTI6G9x0y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x0y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x0__6G9x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x0__6G9x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x0y7[] = {
+ {&(_ZTV6G9x0y7[5]), 5,13},
+ {&(_ZTV6G9x0y7[9]), 9,13},
+ {&(_ZTV6G9x0y7[12]), 12,13},
+ {&(_tg__ZTV4E9x0__6G9x0y7[3]), 3,4},
+ {&(_tg__ZTV2C94E9x0__6G9x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x0y7[];
+extern VTBL_ENTRY _ZTV6G9x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x0y7[];
+Class_Descriptor cd_G9x0y7 = { "G9x0y7", // class name
+ bases_G9x0y7, 6,
+ &(vtc_G9x0y7[0]), // expected_vtbl_contents
+ &(vtt_G9x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x0y7),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 E10x0 : C10 , D1 {
+ int fd;
+ ~E10x0(); // tgen
+ E10x0(); // tgen
+};
+//SIG(-1 E10x0) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E10x0 ::~E10x0(){ note_dtor("E10x0", this);} // tgen
+E10x0 ::E10x0(){ note_ctor("E10x0", this);} // tgen
+
+static void Test_E10x0()
+{
+ extern Class_Descriptor cd_E10x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x0, buf);
+ E10x0 *dp, &lv = *(dp=new (buf) E10x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x0)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(32,20), "E10x0");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(36,24), "E10x0");
+ check_base_class_offset(lv, (C10*), 0, "E10x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E10x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E10x0.fd");
+ test_class_info(&lv, &cd_E10x0);
+ dp->~E10x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x0(Test_E10x0, "E10x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x0C1Ev();
+extern void _ZN5E10x0D1Ev();
+Name_Map name_map_E10x0[] = {
+ NSPAIR(_ZN5E10x0C1Ev),
+ NSPAIR(_ZN5E10x0D1Ev),
+ {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_E10x0[] = {
+ // 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
+ 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 _ZTI5E10x0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E10x0[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E10x0[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x0[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x0[] = {
+ {&(_ZTV5E10x0[4]), 4,7},
+ {&(_tg__ZTV3C10__5E10x0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+Class_Descriptor cd_E10x0 = { "E10x0", // class name
+ bases_E10x0, 4,
+ &(vtc_E10x0[0]), // expected_vtbl_contents
+ &(vtt_E10x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x0),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x0),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 G10x0y0 : E10x0 , F1 {
+ int ff;
+ ~G10x0y0(); // tgen
+ G10x0y0(); // tgen
+};
+//SIG(1 G10x0y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x0y0 ::~G10x0y0(){ note_dtor("G10x0y0", this);} // tgen
+G10x0y0 ::G10x0y0(){ note_ctor("G10x0y0", this);} // tgen
+
+static void Test_G10x0y0()
+{
+ extern Class_Descriptor cd_G10x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x0y0, buf);
+ G10x0y0 *dp, &lv = *(dp=new (buf) G10x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y0)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(48,32), "G10x0y0");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(52,36), "G10x0y0");
+ check_base_class_offset(lv, (C10*)(E10x0*), 0, "G10x0y0");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(16,8), "G10x0y0");
+ check_base_class_offset(lv, (E10x0*), 0, "G10x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G10x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G10x0y0.ff");
+ test_class_info(&lv, &cd_G10x0y0);
+ dp->~G10x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y0(Test_G10x0y0, "G10x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y0C1Ev();
+extern void _ZN7G10x0y0D1Ev();
+Name_Map name_map_G10x0y0[] = {
+ NSPAIR(_ZN7G10x0y0C1Ev),
+ NSPAIR(_ZN7G10x0y0D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x0y0[] = {
+ // 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
+ 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_E10x0, 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
+ 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 _ZTI7G10x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y0[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y0[] = {
+ {&(_ZTV7G10x0y0[4]), 4,10},
+ {&(_tg__ZTV5E10x0__7G10x0y0[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y0[];
+extern VTBL_ENTRY _ZTV7G10x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y0[];
+Class_Descriptor cd_G10x0y0 = { "G10x0y0", // class name
+ bases_G10x0y0, 6,
+ &(vtc_G10x0y0[0]), // expected_vtbl_contents
+ &(vtt_G10x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y0),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y0),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 G10x0y1 : virtual E10x0 , F1 {
+ int ff;
+ ~G10x0y1(); // tgen
+ G10x0y1(); // tgen
+};
+//SIG(1 G10x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x0y1 ::~G10x0y1(){ note_dtor("G10x0y1", this);} // tgen
+G10x0y1 ::G10x0y1(){ note_ctor("G10x0y1", this);} // tgen
+
+static void Test_G10x0y1()
+{
+ extern Class_Descriptor cd_G10x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x0y1, buf);
+ G10x0y1 *dp, &lv = *(dp=new (buf) G10x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y1)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(48,32), "G10x0y1");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(52,36), "G10x0y1");
+ check_base_class_offset(lv, (C10*)(E10x0*), ABISELECT(16,12), "G10x0y1");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(32,20), "G10x0y1");
+ check_base_class_offset(lv, (E10x0*), ABISELECT(16,12), "G10x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x0y1.ff");
+ test_class_info(&lv, &cd_G10x0y1);
+ dp->~G10x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y1(Test_G10x0y1, "G10x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y1C1Ev();
+extern void _ZN7G10x0y1D1Ev();
+Name_Map name_map_G10x0y1[] = {
+ NSPAIR(_ZN7G10x0y1C1Ev),
+ NSPAIR(_ZN7G10x0y1D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x0y1[] = {
+ // 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_E10x0, 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 _ZTI7G10x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x0y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,8),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x0y1[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y1[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y1[] = {
+ {&(_ZTV7G10x0y1[5]), 5,14},
+ {&(_ZTV7G10x0y1[11]), 11,14},
+ {&(_ZTV7G10x0y1[13]), 13,14},
+ {&(_tg__ZTV5E10x0__7G10x0y1[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y1[];
+extern VTBL_ENTRY _ZTV7G10x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y1[];
+Class_Descriptor cd_G10x0y1 = { "G10x0y1", // class name
+ bases_G10x0y1, 6,
+ &(vtc_G10x0y1[0]), // expected_vtbl_contents
+ &(vtt_G10x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y1),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 G10x0y2 : E10x0 , virtual F1 {
+ int ff;
+ ~G10x0y2(); // tgen
+ G10x0y2(); // tgen
+};
+//SIG(1 G10x0y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x0y2 ::~G10x0y2(){ note_dtor("G10x0y2", this);} // tgen
+G10x0y2 ::G10x0y2(){ note_ctor("G10x0y2", this);} // tgen
+
+static void Test_G10x0y2()
+{
+ extern Class_Descriptor cd_G10x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x0y2, buf);
+ G10x0y2 *dp, &lv = *(dp=new (buf) G10x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y2)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(36,24), "G10x0y2");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(40,28), "G10x0y2");
+ check_base_class_offset(lv, (C10*)(E10x0*), 0, "G10x0y2");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(16,8), "G10x0y2");
+ check_base_class_offset(lv, (E10x0*), 0, "G10x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G10x0y2.ff");
+ test_class_info(&lv, &cd_G10x0y2);
+ dp->~G10x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y2(Test_G10x0y2, "G10x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y2C1Ev();
+extern void _ZN7G10x0y2D1Ev();
+Name_Map name_map_G10x0y2[] = {
+ NSPAIR(_ZN7G10x0y2C1Ev),
+ NSPAIR(_ZN7G10x0y2D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x0y2[] = {
+ // 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
+ 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_E10x0, 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
+ 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 _ZTI7G10x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x0y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y2[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y2[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y2[] = {
+ {&(_ZTV7G10x0y2[5]), 5,12},
+ {&(_tg__ZTV5E10x0__7G10x0y2[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y2[4]), 4,4},
+ {&(_ZTV7G10x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G10x0y2[];
+extern VTBL_ENTRY _ZTV7G10x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y2[];
+Class_Descriptor cd_G10x0y2 = { "G10x0y2", // class name
+ bases_G10x0y2, 6,
+ &(vtc_G10x0y2[0]), // expected_vtbl_contents
+ &(vtt_G10x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y2),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y2),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 G10x0y3 : virtual E10x0 , virtual F1 {
+ int ff;
+ ~G10x0y3(); // tgen
+ G10x0y3(); // tgen
+};
+//SIG(1 G10x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x0y3 ::~G10x0y3(){ note_dtor("G10x0y3", this);} // tgen
+G10x0y3 ::G10x0y3(){ note_ctor("G10x0y3", this);} // tgen
+
+static void Test_G10x0y3()
+{
+ extern Class_Descriptor cd_G10x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x0y3, buf);
+ G10x0y3 *dp, &lv = *(dp=new (buf) G10x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y3)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(48,28), "G10x0y3");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(52,32), "G10x0y3");
+ check_base_class_offset(lv, (C10*)(E10x0*), ABISELECT(16,8), "G10x0y3");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(32,16), "G10x0y3");
+ check_base_class_offset(lv, (E10x0*), ABISELECT(16,8), "G10x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x0y3.ff");
+ test_class_info(&lv, &cd_G10x0y3);
+ dp->~G10x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y3(Test_G10x0y3, "G10x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y3C1Ev();
+extern void _ZN7G10x0y3D1Ev();
+Name_Map name_map_G10x0y3[] = {
+ NSPAIR(_ZN7G10x0y3C1Ev),
+ NSPAIR(_ZN7G10x0y3D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x0y3[] = {
+ // 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
+ 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_E10x0, 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
+ 14, //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 _ZTI7G10x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y3[0]),
+ ABISELECT(16,8),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y3[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y3[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y3[] = {
+ {&(_ZTV7G10x0y3[6]), 6,18},
+ {&(_ZTV7G10x0y3[11]), 11,18},
+ {&(_ZTV7G10x0y3[13]), 13,18},
+ {&(_ZTV7G10x0y3[17]), 17,18},
+ {&(_tg__ZTV5E10x0__7G10x0y3[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y3[];
+extern VTBL_ENTRY _ZTV7G10x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y3[];
+Class_Descriptor cd_G10x0y3 = { "G10x0y3", // class name
+ bases_G10x0y3, 6,
+ &(vtc_G10x0y3[0]), // expected_vtbl_contents
+ &(vtt_G10x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y3),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 G10x0y4 : E10x0 , F0 {
+ int ff;
+ ~G10x0y4(); // tgen
+ G10x0y4(); // tgen
+};
+//SIG(1 G10x0y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x0y4 ::~G10x0y4(){ note_dtor("G10x0y4", this);} // tgen
+G10x0y4 ::G10x0y4(){ note_ctor("G10x0y4", this);} // tgen
+
+static void Test_G10x0y4()
+{
+ extern Class_Descriptor cd_G10x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x0y4, buf);
+ G10x0y4 *dp, &lv = *(dp=new (buf) G10x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y4)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(40,28), "G10x0y4");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(44,32), "G10x0y4");
+ check_base_class_offset(lv, (C10*)(E10x0*), 0, "G10x0y4");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(16,8), "G10x0y4");
+ check_base_class_offset(lv, (E10x0*), 0, "G10x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G10x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G10x0y4.ff");
+ test_class_info(&lv, &cd_G10x0y4);
+ dp->~G10x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y4(Test_G10x0y4, "G10x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y4C1Ev();
+extern void _ZN7G10x0y4D1Ev();
+Name_Map name_map_G10x0y4[] = {
+ NSPAIR(_ZN7G10x0y4C1Ev),
+ NSPAIR(_ZN7G10x0y4D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x0y4[] = {
+ // 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
+ 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_E10x0, 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 _ZTI7G10x0y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y4[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y4[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y4[] = {
+ {&(_ZTV7G10x0y4[4]), 4,7},
+ {&(_tg__ZTV5E10x0__7G10x0y4[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y4[];
+extern VTBL_ENTRY _ZTV7G10x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y4[];
+Class_Descriptor cd_G10x0y4 = { "G10x0y4", // class name
+ bases_G10x0y4, 6,
+ &(vtc_G10x0y4[0]), // expected_vtbl_contents
+ &(vtt_G10x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y4),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y4),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 G10x0y5 : virtual E10x0 , F0 {
+ int ff;
+ ~G10x0y5(); // tgen
+ G10x0y5(); // tgen
+};
+//SIG(1 G10x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x0y5 ::~G10x0y5(){ note_dtor("G10x0y5", this);} // tgen
+G10x0y5 ::G10x0y5(){ note_ctor("G10x0y5", this);} // tgen
+
+static void Test_G10x0y5()
+{
+ extern Class_Descriptor cd_G10x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x0y5, buf);
+ G10x0y5 *dp, &lv = *(dp=new (buf) G10x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y5)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(48,32), "G10x0y5");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(52,36), "G10x0y5");
+ check_base_class_offset(lv, (C10*)(E10x0*), ABISELECT(16,12), "G10x0y5");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(32,20), "G10x0y5");
+ check_base_class_offset(lv, (E10x0*), ABISELECT(16,12), "G10x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x0y5.ff");
+ test_class_info(&lv, &cd_G10x0y5);
+ dp->~G10x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y5(Test_G10x0y5, "G10x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y5C1Ev();
+extern void _ZN7G10x0y5D1Ev();
+Name_Map name_map_G10x0y5[] = {
+ NSPAIR(_ZN7G10x0y5C1Ev),
+ NSPAIR(_ZN7G10x0y5D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x0y5[] = {
+ // 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
+ 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_E10x0, 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 _ZTI7G10x0y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x0y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y5[0]),
+ ABISELECT(16,8),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x0y5[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y5[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y5[] = {
+ {&(_ZTV7G10x0y5[5]), 5,13},
+ {&(_ZTV7G10x0y5[10]), 10,13},
+ {&(_ZTV7G10x0y5[12]), 12,13},
+ {&(_tg__ZTV5E10x0__7G10x0y5[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y5[];
+extern VTBL_ENTRY _ZTV7G10x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y5[];
+Class_Descriptor cd_G10x0y5 = { "G10x0y5", // class name
+ bases_G10x0y5, 6,
+ &(vtc_G10x0y5[0]), // expected_vtbl_contents
+ &(vtt_G10x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y5),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 G10x0y6 : E10x0 , virtual F0 {
+ int ff;
+ ~G10x0y6(); // tgen
+ G10x0y6(); // tgen
+};
+//SIG(1 G10x0y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x0y6 ::~G10x0y6(){ note_dtor("G10x0y6", this);} // tgen
+G10x0y6 ::G10x0y6(){ note_ctor("G10x0y6", this);} // tgen
+
+static void Test_G10x0y6()
+{
+ extern Class_Descriptor cd_G10x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x0y6, buf);
+ G10x0y6 *dp, &lv = *(dp=new (buf) G10x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y6)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(36,24), "G10x0y6");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(40,28), "G10x0y6");
+ check_base_class_offset(lv, (C10*)(E10x0*), 0, "G10x0y6");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(16,8), "G10x0y6");
+ check_base_class_offset(lv, (E10x0*), 0, "G10x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G10x0y6.ff");
+ test_class_info(&lv, &cd_G10x0y6);
+ dp->~G10x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y6(Test_G10x0y6, "G10x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y6C1Ev();
+extern void _ZN7G10x0y6D1Ev();
+Name_Map name_map_G10x0y6[] = {
+ NSPAIR(_ZN7G10x0y6C1Ev),
+ NSPAIR(_ZN7G10x0y6D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x0y6[] = {
+ // 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
+ 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_E10x0, 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 _ZTI7G10x0y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x0y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y6[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y6[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y6[] = {
+ {&(_ZTV7G10x0y6[5]), 5,8},
+ {&(_tg__ZTV5E10x0__7G10x0y6[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y6[];
+extern VTBL_ENTRY _ZTV7G10x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y6[];
+Class_Descriptor cd_G10x0y6 = { "G10x0y6", // class name
+ bases_G10x0y6, 6,
+ &(vtc_G10x0y6[0]), // expected_vtbl_contents
+ &(vtt_G10x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y6),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y6),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 G10x0y7 : virtual E10x0 , virtual F0 {
+ int ff;
+ ~G10x0y7(); // tgen
+ G10x0y7(); // tgen
+};
+//SIG(1 G10x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x0y7 ::~G10x0y7(){ note_dtor("G10x0y7", this);} // tgen
+G10x0y7 ::G10x0y7(){ note_ctor("G10x0y7", this);} // tgen
+
+static void Test_G10x0y7()
+{
+ extern Class_Descriptor cd_G10x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x0y7, buf);
+ G10x0y7 *dp, &lv = *(dp=new (buf) G10x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x0y7)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x0*), ABISELECT(48,28), "G10x0y7");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x0*), ABISELECT(52,32), "G10x0y7");
+ check_base_class_offset(lv, (C10*)(E10x0*), ABISELECT(16,8), "G10x0y7");
+ check_base_class_offset(lv, (D1*)(E10x0*), ABISELECT(32,16), "G10x0y7");
+ check_base_class_offset(lv, (E10x0*), ABISELECT(16,8), "G10x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G10x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x0y7.ff");
+ test_class_info(&lv, &cd_G10x0y7);
+ dp->~G10x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x0y7(Test_G10x0y7, "G10x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x0y7C1Ev();
+extern void _ZN7G10x0y7D1Ev();
+Name_Map name_map_G10x0y7[] = {
+ NSPAIR(_ZN7G10x0y7C1Ev),
+ NSPAIR(_ZN7G10x0y7D1Ev),
+ {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_E10x0;
+extern VTBL_ENTRY _ZTI5E10x0[];
+extern VTBL_ENTRY _ZTV5E10x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x0y7[] = {
+ // 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
+ 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_E10x0, 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 _ZTI7G10x0y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x0y7[0]),
+ ABISELECT(16,8),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x0y7[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x0y7[];
+static VTBL_ENTRY _tg__ZTV5E10x0__7G10x0y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x0__7G10x0y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x0y7[] = {
+ {&(_ZTV7G10x0y7[6]), 6,14},
+ {&(_ZTV7G10x0y7[11]), 11,14},
+ {&(_ZTV7G10x0y7[13]), 13,14},
+ {&(_tg__ZTV5E10x0__7G10x0y7[4]), 4,4},
+ {&(_tg__ZTV3C105E10x0__7G10x0y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x0y7[];
+extern VTBL_ENTRY _ZTV7G10x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x0y7[];
+Class_Descriptor cd_G10x0y7 = { "G10x0y7", // class name
+ bases_G10x0y7, 6,
+ &(vtc_G10x0y7[0]), // expected_vtbl_contents
+ &(vtt_G10x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x0y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x0y7),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 E11x0 : C11 , D1 {
+ int fd;
+ ~E11x0(); // tgen
+ E11x0(); // tgen
+};
+//SIG(-1 E11x0) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E11x0 ::~E11x0(){ note_dtor("E11x0", this);} // tgen
+E11x0 ::E11x0(){ note_ctor("E11x0", this);} // tgen
+
+static void Test_E11x0()
+{
+ extern Class_Descriptor cd_E11x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E11x0, buf);
+ E11x0 *dp, &lv = *(dp=new (buf) E11x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E11x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x0)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "E11x0");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "E11x0");
+ check_base_class_offset(lv, (C11*), 0, "E11x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E11x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E11x0.fd");
+ test_class_info(&lv, &cd_E11x0);
+ dp->~E11x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x0(Test_E11x0, "E11x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x0C1Ev();
+extern void _ZN5E11x0D1Ev();
+Name_Map name_map_E11x0[] = {
+ NSPAIR(_ZN5E11x0C1Ev),
+ NSPAIR(_ZN5E11x0D1Ev),
+ {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_E11x0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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
+ 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 _ZTI5E11x0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x0[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x0[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x0[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x0[] = {
+ {&(_ZTV5E11x0[4]), 4,11},
+ {&(_tg__ZTV3C11__5E11x0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x0[3]), 3,4},
+ {&(_ZTV5E11x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+Class_Descriptor cd_E11x0 = { "E11x0", // class name
+ bases_E11x0, 4,
+ &(vtc_E11x0[0]), // expected_vtbl_contents
+ &(vtt_E11x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E11x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x0),4, //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 G11x0y0 : E11x0 , F1 {
+ int ff;
+ ~G11x0y0(); // tgen
+ G11x0y0(); // tgen
+};
+//SIG(1 G11x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x0y0 ::~G11x0y0(){ note_dtor("G11x0y0", this);} // tgen
+G11x0y0 ::G11x0y0(){ note_ctor("G11x0y0", this);} // tgen
+
+static void Test_G11x0y0()
+{
+ extern Class_Descriptor cd_G11x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x0y0, buf);
+ G11x0y0 *dp, &lv = *(dp=new (buf) G11x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y0)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(48,32), "G11x0y0");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(60,40), "G11x0y0");
+ check_base_class_offset(lv, (C11*)(E11x0*), 0, "G11x0y0");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(16,8), "G11x0y0");
+ check_base_class_offset(lv, (E11x0*), 0, "G11x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G11x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G11x0y0.ff");
+ test_class_info(&lv, &cd_G11x0y0);
+ dp->~G11x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y0(Test_G11x0y0, "G11x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y0C1Ev();
+extern void _ZN7G11x0y0D1Ev();
+Name_Map name_map_G11x0y0[] = {
+ NSPAIR(_ZN7G11x0y0C1Ev),
+ NSPAIR(_ZN7G11x0y0D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x0y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //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(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
+ 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_E11x0, 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
+ 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 _ZTI7G11x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y0[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y0[] = {
+ {&(_ZTV7G11x0y0[4]), 4,14},
+ {&(_tg__ZTV5E11x0__7G11x0y0[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y0[3]), 3,4},
+ {&(_ZTV7G11x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G11x0y0[];
+extern VTBL_ENTRY _ZTV7G11x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y0[];
+Class_Descriptor cd_G11x0y0 = { "G11x0y0", // class name
+ bases_G11x0y0, 6,
+ &(vtc_G11x0y0[0]), // expected_vtbl_contents
+ &(vtt_G11x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y0),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 G11x0y1 : virtual E11x0 , F1 {
+ int ff;
+ ~G11x0y1(); // tgen
+ G11x0y1(); // tgen
+};
+//SIG(1 G11x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x0y1 ::~G11x0y1(){ note_dtor("G11x0y1", this);} // tgen
+G11x0y1 ::G11x0y1(){ note_ctor("G11x0y1", this);} // tgen
+
+static void Test_G11x0y1()
+{
+ extern Class_Descriptor cd_G11x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x0y1, buf);
+ G11x0y1 *dp, &lv = *(dp=new (buf) G11x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y1)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(48,32), "G11x0y1");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(60,40), "G11x0y1");
+ check_base_class_offset(lv, (C11*)(E11x0*), ABISELECT(16,12), "G11x0y1");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(32,20), "G11x0y1");
+ check_base_class_offset(lv, (E11x0*), ABISELECT(16,12), "G11x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x0y1.ff");
+ test_class_info(&lv, &cd_G11x0y1);
+ dp->~G11x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y1(Test_G11x0y1, "G11x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y1C1Ev();
+extern void _ZN7G11x0y1D1Ev();
+Name_Map name_map_G11x0y1[] = {
+ NSPAIR(_ZN7G11x0y1C1Ev),
+ NSPAIR(_ZN7G11x0y1D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x0y1[] = {
+ // 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_E11x0, 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 _ZTI7G11x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,8),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x0y1[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y1[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y1[] = {
+ {&(_ZTV7G11x0y1[5]), 5,18},
+ {&(_ZTV7G11x0y1[11]), 11,18},
+ {&(_ZTV7G11x0y1[17]), 17,18},
+ {&(_ZTV7G11x0y1[13]), 13,18},
+ {&(_tg__ZTV5E11x0__7G11x0y1[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x0y1[];
+extern VTBL_ENTRY _ZTV7G11x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y1[];
+Class_Descriptor cd_G11x0y1 = { "G11x0y1", // class name
+ bases_G11x0y1, 6,
+ &(vtc_G11x0y1[0]), // expected_vtbl_contents
+ &(vtt_G11x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y1),8, //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 G11x0y2 : E11x0 , virtual F1 {
+ int ff;
+ ~G11x0y2(); // tgen
+ G11x0y2(); // tgen
+};
+//SIG(1 G11x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x0y2 ::~G11x0y2(){ note_dtor("G11x0y2", this);} // tgen
+G11x0y2 ::G11x0y2(){ note_ctor("G11x0y2", this);} // tgen
+
+static void Test_G11x0y2()
+{
+ extern Class_Descriptor cd_G11x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x0y2, buf);
+ G11x0y2 *dp, &lv = *(dp=new (buf) G11x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y2)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(40,24), "G11x0y2");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(52,32), "G11x0y2");
+ check_base_class_offset(lv, (C11*)(E11x0*), 0, "G11x0y2");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(16,8), "G11x0y2");
+ check_base_class_offset(lv, (E11x0*), 0, "G11x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G11x0y2.ff");
+ test_class_info(&lv, &cd_G11x0y2);
+ dp->~G11x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y2(Test_G11x0y2, "G11x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y2C1Ev();
+extern void _ZN7G11x0y2D1Ev();
+Name_Map name_map_G11x0y2[] = {
+ NSPAIR(_ZN7G11x0y2C1Ev),
+ NSPAIR(_ZN7G11x0y2D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x0y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 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_E11x0, 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
+ 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 _ZTI7G11x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y2[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y2[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y2[] = {
+ {&(_ZTV7G11x0y2[5]), 5,16},
+ {&(_tg__ZTV5E11x0__7G11x0y2[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y2[3]), 3,4},
+ {&(_ZTV7G11x0y2[11]), 11,16},
+ {&(_ZTV7G11x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G11x0y2[];
+extern VTBL_ENTRY _ZTV7G11x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y2[];
+Class_Descriptor cd_G11x0y2 = { "G11x0y2", // class name
+ bases_G11x0y2, 6,
+ &(vtc_G11x0y2[0]), // expected_vtbl_contents
+ &(vtt_G11x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y2),7, //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 G11x0y3 : virtual E11x0 , virtual F1 {
+ int ff;
+ ~G11x0y3(); // tgen
+ G11x0y3(); // tgen
+};
+//SIG(1 G11x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x0y3 ::~G11x0y3(){ note_dtor("G11x0y3", this);} // tgen
+G11x0y3 ::G11x0y3(){ note_ctor("G11x0y3", this);} // tgen
+
+static void Test_G11x0y3()
+{
+ extern Class_Descriptor cd_G11x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x0y3, buf);
+ G11x0y3 *dp, &lv = *(dp=new (buf) G11x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y3)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(48,28), "G11x0y3");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(60,36), "G11x0y3");
+ check_base_class_offset(lv, (C11*)(E11x0*), ABISELECT(16,8), "G11x0y3");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(32,16), "G11x0y3");
+ check_base_class_offset(lv, (E11x0*), ABISELECT(16,8), "G11x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x0y3.ff");
+ test_class_info(&lv, &cd_G11x0y3);
+ dp->~G11x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y3(Test_G11x0y3, "G11x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y3C1Ev();
+extern void _ZN7G11x0y3D1Ev();
+Name_Map name_map_G11x0y3[] = {
+ NSPAIR(_ZN7G11x0y3C1Ev),
+ NSPAIR(_ZN7G11x0y3D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x0y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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,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
+ 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_E11x0, 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
+ 18, //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 _ZTI7G11x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y3[0]),
+ ABISELECT(16,8),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y3[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y3[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y3[] = {
+ {&(_ZTV7G11x0y3[6]), 6,22},
+ {&(_ZTV7G11x0y3[11]), 11,22},
+ {&(_ZTV7G11x0y3[17]), 17,22},
+ {&(_ZTV7G11x0y3[13]), 13,22},
+ {&(_ZTV7G11x0y3[21]), 21,22},
+ {&(_tg__ZTV5E11x0__7G11x0y3[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x0y3[];
+extern VTBL_ENTRY _ZTV7G11x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y3[];
+Class_Descriptor cd_G11x0y3 = { "G11x0y3", // class name
+ bases_G11x0y3, 6,
+ &(vtc_G11x0y3[0]), // expected_vtbl_contents
+ &(vtt_G11x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y3),9, //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 G11x0y4 : E11x0 , F0 {
+ int ff;
+ ~G11x0y4(); // tgen
+ G11x0y4(); // tgen
+};
+//SIG(1 G11x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x0y4 ::~G11x0y4(){ note_dtor("G11x0y4", this);} // tgen
+G11x0y4 ::G11x0y4(){ note_ctor("G11x0y4", this);} // tgen
+
+static void Test_G11x0y4()
+{
+ extern Class_Descriptor cd_G11x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x0y4, buf);
+ G11x0y4 *dp, &lv = *(dp=new (buf) G11x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y4)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(40,28), "G11x0y4");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(52,36), "G11x0y4");
+ check_base_class_offset(lv, (C11*)(E11x0*), 0, "G11x0y4");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(16,8), "G11x0y4");
+ check_base_class_offset(lv, (E11x0*), 0, "G11x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G11x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G11x0y4.ff");
+ test_class_info(&lv, &cd_G11x0y4);
+ dp->~G11x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y4(Test_G11x0y4, "G11x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y4C1Ev();
+extern void _ZN7G11x0y4D1Ev();
+Name_Map name_map_G11x0y4[] = {
+ NSPAIR(_ZN7G11x0y4C1Ev),
+ NSPAIR(_ZN7G11x0y4D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x0y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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(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
+ 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_E11x0, 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 _ZTI7G11x0y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y4[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y4[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y4[] = {
+ {&(_ZTV7G11x0y4[4]), 4,11},
+ {&(_tg__ZTV5E11x0__7G11x0y4[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y4[3]), 3,4},
+ {&(_ZTV7G11x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G11x0y4[];
+extern VTBL_ENTRY _ZTV7G11x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y4[];
+Class_Descriptor cd_G11x0y4 = { "G11x0y4", // class name
+ bases_G11x0y4, 6,
+ &(vtc_G11x0y4[0]), // expected_vtbl_contents
+ &(vtt_G11x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y4),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 G11x0y5 : virtual E11x0 , F0 {
+ int ff;
+ ~G11x0y5(); // tgen
+ G11x0y5(); // tgen
+};
+//SIG(1 G11x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x0y5 ::~G11x0y5(){ note_dtor("G11x0y5", this);} // tgen
+G11x0y5 ::G11x0y5(){ note_ctor("G11x0y5", this);} // tgen
+
+static void Test_G11x0y5()
+{
+ extern Class_Descriptor cd_G11x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x0y5, buf);
+ G11x0y5 *dp, &lv = *(dp=new (buf) G11x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y5)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(48,32), "G11x0y5");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(60,40), "G11x0y5");
+ check_base_class_offset(lv, (C11*)(E11x0*), ABISELECT(16,12), "G11x0y5");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(32,20), "G11x0y5");
+ check_base_class_offset(lv, (E11x0*), ABISELECT(16,12), "G11x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x0y5.ff");
+ test_class_info(&lv, &cd_G11x0y5);
+ dp->~G11x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y5(Test_G11x0y5, "G11x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y5C1Ev();
+extern void _ZN7G11x0y5D1Ev();
+Name_Map name_map_G11x0y5[] = {
+ NSPAIR(_ZN7G11x0y5C1Ev),
+ NSPAIR(_ZN7G11x0y5D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x0y5[] = {
+ // 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(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
+ 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_E11x0, 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 _ZTI7G11x0y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y5[0]),
+ ABISELECT(16,8),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x0y5[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y5[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y5[] = {
+ {&(_ZTV7G11x0y5[5]), 5,17},
+ {&(_ZTV7G11x0y5[10]), 10,17},
+ {&(_ZTV7G11x0y5[16]), 16,17},
+ {&(_ZTV7G11x0y5[12]), 12,17},
+ {&(_tg__ZTV5E11x0__7G11x0y5[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x0y5[];
+extern VTBL_ENTRY _ZTV7G11x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y5[];
+Class_Descriptor cd_G11x0y5 = { "G11x0y5", // class name
+ bases_G11x0y5, 6,
+ &(vtc_G11x0y5[0]), // expected_vtbl_contents
+ &(vtt_G11x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y5),8, //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 G11x0y6 : E11x0 , virtual F0 {
+ int ff;
+ ~G11x0y6(); // tgen
+ G11x0y6(); // tgen
+};
+//SIG(1 G11x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x0y6 ::~G11x0y6(){ note_dtor("G11x0y6", this);} // tgen
+G11x0y6 ::G11x0y6(){ note_ctor("G11x0y6", this);} // tgen
+
+static void Test_G11x0y6()
+{
+ extern Class_Descriptor cd_G11x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x0y6, buf);
+ G11x0y6 *dp, &lv = *(dp=new (buf) G11x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y6)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(40,24), "G11x0y6");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(52,32), "G11x0y6");
+ check_base_class_offset(lv, (C11*)(E11x0*), 0, "G11x0y6");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(16,8), "G11x0y6");
+ check_base_class_offset(lv, (E11x0*), 0, "G11x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G11x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G11x0y6.ff");
+ test_class_info(&lv, &cd_G11x0y6);
+ dp->~G11x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y6(Test_G11x0y6, "G11x0y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y6C1Ev();
+extern void _ZN7G11x0y6D1Ev();
+Name_Map name_map_G11x0y6[] = {
+ NSPAIR(_ZN7G11x0y6C1Ev),
+ NSPAIR(_ZN7G11x0y6D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x0y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 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_E11x0, 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 _ZTI7G11x0y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y6[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y6[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y6[] = {
+ {&(_ZTV7G11x0y6[5]), 5,12},
+ {&(_tg__ZTV5E11x0__7G11x0y6[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y6[3]), 3,4},
+ {&(_ZTV7G11x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G11x0y6[];
+extern VTBL_ENTRY _ZTV7G11x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y6[];
+Class_Descriptor cd_G11x0y6 = { "G11x0y6", // class name
+ bases_G11x0y6, 6,
+ &(vtc_G11x0y6[0]), // expected_vtbl_contents
+ &(vtt_G11x0y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y6),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 G11x0y7 : virtual E11x0 , virtual F0 {
+ int ff;
+ ~G11x0y7(); // tgen
+ G11x0y7(); // tgen
+};
+//SIG(1 G11x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x0y7 ::~G11x0y7(){ note_dtor("G11x0y7", this);} // tgen
+G11x0y7 ::G11x0y7(){ note_ctor("G11x0y7", this);} // tgen
+
+static void Test_G11x0y7()
+{
+ extern Class_Descriptor cd_G11x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x0y7, buf);
+ G11x0y7 *dp, &lv = *(dp=new (buf) G11x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x0y7)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x0*), ABISELECT(48,28), "G11x0y7");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x0*), ABISELECT(60,36), "G11x0y7");
+ check_base_class_offset(lv, (C11*)(E11x0*), ABISELECT(16,8), "G11x0y7");
+ check_base_class_offset(lv, (D1*)(E11x0*), ABISELECT(32,16), "G11x0y7");
+ check_base_class_offset(lv, (E11x0*), ABISELECT(16,8), "G11x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G11x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x0y7.ff");
+ test_class_info(&lv, &cd_G11x0y7);
+ dp->~G11x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x0y7(Test_G11x0y7, "G11x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x0y7C1Ev();
+extern void _ZN7G11x0y7D1Ev();
+Name_Map name_map_G11x0y7[] = {
+ NSPAIR(_ZN7G11x0y7C1Ev),
+ NSPAIR(_ZN7G11x0y7D1Ev),
+ {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_E11x0;
+extern VTBL_ENTRY _ZTI5E11x0[];
+extern VTBL_ENTRY _ZTV5E11x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x0y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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,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
+ 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_E11x0, 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 _ZTI7G11x0y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x0y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x0y7[0]),
+ ABISELECT(16,8),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x0y7[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x0y7[];
+static VTBL_ENTRY _tg__ZTV5E11x0__7G11x0y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x0__7G11x0y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x0__7G11x0y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x0__7G11x0y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x0y7[] = {
+ {&(_ZTV7G11x0y7[6]), 6,18},
+ {&(_ZTV7G11x0y7[11]), 11,18},
+ {&(_ZTV7G11x0y7[17]), 17,18},
+ {&(_ZTV7G11x0y7[13]), 13,18},
+ {&(_tg__ZTV5E11x0__7G11x0y7[4]), 4,4},
+ {&(_tg__ZTV3C115E11x0__7G11x0y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x0__7G11x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x0__7G11x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x0y7[];
+extern VTBL_ENTRY _ZTV7G11x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x0y7[];
+Class_Descriptor cd_G11x0y7 = { "G11x0y7", // class name
+ bases_G11x0y7, 6,
+ &(vtc_G11x0y7[0]), // expected_vtbl_contents
+ &(vtt_G11x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x0y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x0y7),8, //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 E12x0 : C12 , D1 {
+ int fd;
+ ~E12x0(); // tgen
+ E12x0(); // tgen
+};
+//SIG(-1 E12x0) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E12x0 ::~E12x0(){ note_dtor("E12x0", this);} // tgen
+E12x0 ::E12x0(){ note_ctor("E12x0", this);} // tgen
+
+static void Test_E12x0()
+{
+ extern Class_Descriptor cd_E12x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E12x0, buf);
+ E12x0 *dp, &lv = *(dp=new (buf) E12x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E12x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x0)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(8,4), "E12x0");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "E12x0");
+ check_base_class_offset(lv, (C12*), 0, "E12x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E12x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E12x0.fd");
+ test_class_info(&lv, &cd_E12x0);
+ dp->~E12x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x0(Test_E12x0, "E12x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x0C1Ev();
+extern void _ZN5E12x0D1Ev();
+Name_Map name_map_E12x0[] = {
+ NSPAIR(_ZN5E12x0C1Ev),
+ NSPAIR(_ZN5E12x0D1Ev),
+ {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_E12x0[] = {
+ // 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
+ 6, //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
+ 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 _ZTI5E12x0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x0[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x0[] = {
+ {&(_ZTV5E12x0[3]), 3,10},
+ {&(_tg__ZTV3C12__5E12x0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x0[3]), 3,4},
+ {&(_ZTV5E12x0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+Class_Descriptor cd_E12x0 = { "E12x0", // class name
+ bases_E12x0, 4,
+ &(vtc_E12x0[0]), // expected_vtbl_contents
+ &(vtt_E12x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E12x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x0),4, //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 G12x0y0 : E12x0 , F1 {
+ int ff;
+ ~G12x0y0(); // tgen
+ G12x0y0(); // tgen
+};
+//SIG(1 G12x0y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x0y0 ::~G12x0y0(){ note_dtor("G12x0y0", this);} // tgen
+G12x0y0 ::G12x0y0(){ note_ctor("G12x0y0", this);} // tgen
+
+static void Test_G12x0y0()
+{
+ extern Class_Descriptor cd_G12x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x0y0, buf);
+ G12x0y0 *dp, &lv = *(dp=new (buf) G12x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y0)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(8,4), "G12x0y0");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(48,36), "G12x0y0");
+ check_base_class_offset(lv, (C12*)(E12x0*), 0, "G12x0y0");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(16,12), "G12x0y0");
+ check_base_class_offset(lv, (E12x0*), 0, "G12x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G12x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G12x0y0.ff");
+ test_class_info(&lv, &cd_G12x0y0);
+ dp->~G12x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y0(Test_G12x0y0, "G12x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y0C1Ev();
+extern void _ZN7G12x0y0D1Ev();
+Name_Map name_map_G12x0y0[] = {
+ NSPAIR(_ZN7G12x0y0C1Ev),
+ NSPAIR(_ZN7G12x0y0D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x0y0[] = {
+ // 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
+ 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_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
+ 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_E12x0, 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
+ 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 _ZTI7G12x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y0[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y0[] = {
+ {&(_ZTV7G12x0y0[3]), 3,13},
+ {&(_tg__ZTV5E12x0__7G12x0y0[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y0[3]), 3,4},
+ {&(_ZTV7G12x0y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G12x0y0[];
+extern VTBL_ENTRY _ZTV7G12x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y0[];
+Class_Descriptor cd_G12x0y0 = { "G12x0y0", // class name
+ bases_G12x0y0, 6,
+ &(vtc_G12x0y0[0]), // expected_vtbl_contents
+ &(vtt_G12x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y0),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y0),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 G12x0y1 : virtual E12x0 , F1 {
+ int ff;
+ ~G12x0y1(); // tgen
+ G12x0y1(); // tgen
+};
+//SIG(1 G12x0y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x0y1 ::~G12x0y1(){ note_dtor("G12x0y1", this);} // tgen
+G12x0y1 ::G12x0y1(){ note_ctor("G12x0y1", this);} // tgen
+
+static void Test_G12x0y1()
+{
+ extern Class_Descriptor cd_G12x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x0y1, buf);
+ G12x0y1 *dp, &lv = *(dp=new (buf) G12x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y1)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(24,16), "G12x0y1");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(48,36), "G12x0y1");
+ check_base_class_offset(lv, (C12*)(E12x0*), ABISELECT(16,12), "G12x0y1");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(32,24), "G12x0y1");
+ check_base_class_offset(lv, (E12x0*), ABISELECT(16,12), "G12x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x0y1.ff");
+ test_class_info(&lv, &cd_G12x0y1);
+ dp->~G12x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y1(Test_G12x0y1, "G12x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y1C1Ev();
+extern void _ZN7G12x0y1D1Ev();
+Name_Map name_map_G12x0y1[] = {
+ NSPAIR(_ZN7G12x0y1C1Ev),
+ NSPAIR(_ZN7G12x0y1D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x0y1[] = {
+ // 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_E12x0, 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 _ZTI7G12x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y1[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y1[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y1[] = {
+ {&(_ZTV7G12x0y1[4]), 4,16},
+ {&(_ZTV7G12x0y1[9]), 9,16},
+ {&(_ZTV7G12x0y1[15]), 15,16},
+ {&(_ZTV7G12x0y1[11]), 11,16},
+ {&(_tg__ZTV5E12x0__7G12x0y1[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x0y1[];
+extern VTBL_ENTRY _ZTV7G12x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y1[];
+Class_Descriptor cd_G12x0y1 = { "G12x0y1", // class name
+ bases_G12x0y1, 6,
+ &(vtc_G12x0y1[0]), // expected_vtbl_contents
+ &(vtt_G12x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y1),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y1),8, //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 G12x0y2 : E12x0 , virtual F1 {
+ int ff;
+ ~G12x0y2(); // tgen
+ G12x0y2(); // tgen
+};
+//SIG(1 G12x0y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x0y2 ::~G12x0y2(){ note_dtor("G12x0y2", this);} // tgen
+G12x0y2 ::G12x0y2(){ note_ctor("G12x0y2", this);} // tgen
+
+static void Test_G12x0y2()
+{
+ extern Class_Descriptor cd_G12x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x0y2, buf);
+ G12x0y2 *dp, &lv = *(dp=new (buf) G12x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y2)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(8,4), "G12x0y2");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(40,28), "G12x0y2");
+ check_base_class_offset(lv, (C12*)(E12x0*), 0, "G12x0y2");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(16,12), "G12x0y2");
+ check_base_class_offset(lv, (E12x0*), 0, "G12x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G12x0y2.ff");
+ test_class_info(&lv, &cd_G12x0y2);
+ dp->~G12x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y2(Test_G12x0y2, "G12x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y2C1Ev();
+extern void _ZN7G12x0y2D1Ev();
+Name_Map name_map_G12x0y2[] = {
+ NSPAIR(_ZN7G12x0y2C1Ev),
+ NSPAIR(_ZN7G12x0y2D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x0y2[] = {
+ // 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
+ 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
+ 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_E12x0, 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
+ 11, //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 _ZTI7G12x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y2[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y2[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y2[] = {
+ {&(_ZTV7G12x0y2[4]), 4,15},
+ {&(_tg__ZTV5E12x0__7G12x0y2[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y2[3]), 3,4},
+ {&(_ZTV7G12x0y2[10]), 10,15},
+ {&(_ZTV7G12x0y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G12x0y2[];
+extern VTBL_ENTRY _ZTV7G12x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y2[];
+Class_Descriptor cd_G12x0y2 = { "G12x0y2", // class name
+ bases_G12x0y2, 6,
+ &(vtc_G12x0y2[0]), // expected_vtbl_contents
+ &(vtt_G12x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y2),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y2),7, //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 G12x0y3 : virtual E12x0 , virtual F1 {
+ int ff;
+ ~G12x0y3(); // tgen
+ G12x0y3(); // tgen
+};
+//SIG(1 G12x0y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x0y3 ::~G12x0y3(){ note_dtor("G12x0y3", this);} // tgen
+G12x0y3 ::G12x0y3(){ note_ctor("G12x0y3", this);} // tgen
+
+static void Test_G12x0y3()
+{
+ extern Class_Descriptor cd_G12x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x0y3, buf);
+ G12x0y3 *dp, &lv = *(dp=new (buf) G12x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y3)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(24,12), "G12x0y3");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(48,32), "G12x0y3");
+ check_base_class_offset(lv, (C12*)(E12x0*), ABISELECT(16,8), "G12x0y3");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(32,20), "G12x0y3");
+ check_base_class_offset(lv, (E12x0*), ABISELECT(16,8), "G12x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x0y3.ff");
+ test_class_info(&lv, &cd_G12x0y3);
+ dp->~G12x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y3(Test_G12x0y3, "G12x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y3C1Ev();
+extern void _ZN7G12x0y3D1Ev();
+Name_Map name_map_G12x0y3[] = {
+ NSPAIR(_ZN7G12x0y3C1Ev),
+ NSPAIR(_ZN7G12x0y3D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x0y3[] = {
+ // 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
+ 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,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
+ 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_E12x0, 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
+ 16, //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 _ZTI7G12x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x0y3[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y3[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y3[] = {
+ {&(_ZTV7G12x0y3[5]), 5,20},
+ {&(_ZTV7G12x0y3[9]), 9,20},
+ {&(_ZTV7G12x0y3[15]), 15,20},
+ {&(_ZTV7G12x0y3[11]), 11,20},
+ {&(_ZTV7G12x0y3[19]), 19,20},
+ {&(_tg__ZTV5E12x0__7G12x0y3[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x0y3[];
+extern VTBL_ENTRY _ZTV7G12x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y3[];
+Class_Descriptor cd_G12x0y3 = { "G12x0y3", // class name
+ bases_G12x0y3, 6,
+ &(vtc_G12x0y3[0]), // expected_vtbl_contents
+ &(vtt_G12x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y3),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y3),9, //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 G12x0y4 : E12x0 , F0 {
+ int ff;
+ ~G12x0y4(); // tgen
+ G12x0y4(); // tgen
+};
+//SIG(1 G12x0y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x0y4 ::~G12x0y4(){ note_dtor("G12x0y4", this);} // tgen
+G12x0y4 ::G12x0y4(){ note_ctor("G12x0y4", this);} // tgen
+
+static void Test_G12x0y4()
+{
+ extern Class_Descriptor cd_G12x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x0y4, buf);
+ G12x0y4 *dp, &lv = *(dp=new (buf) G12x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y4)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(8,4), "G12x0y4");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(40,32), "G12x0y4");
+ check_base_class_offset(lv, (C12*)(E12x0*), 0, "G12x0y4");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(16,12), "G12x0y4");
+ check_base_class_offset(lv, (E12x0*), 0, "G12x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G12x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G12x0y4.ff");
+ test_class_info(&lv, &cd_G12x0y4);
+ dp->~G12x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y4(Test_G12x0y4, "G12x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y4C1Ev();
+extern void _ZN7G12x0y4D1Ev();
+Name_Map name_map_G12x0y4[] = {
+ NSPAIR(_ZN7G12x0y4C1Ev),
+ NSPAIR(_ZN7G12x0y4D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x0y4[] = {
+ // 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
+ 6, //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
+ 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_E12x0, 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 _ZTI7G12x0y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y4[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y4[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y4[] = {
+ {&(_ZTV7G12x0y4[3]), 3,10},
+ {&(_tg__ZTV5E12x0__7G12x0y4[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y4[3]), 3,4},
+ {&(_ZTV7G12x0y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G12x0y4[];
+extern VTBL_ENTRY _ZTV7G12x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y4[];
+Class_Descriptor cd_G12x0y4 = { "G12x0y4", // class name
+ bases_G12x0y4, 6,
+ &(vtc_G12x0y4[0]), // expected_vtbl_contents
+ &(vtt_G12x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y4),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y4),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 G12x0y5 : virtual E12x0 , F0 {
+ int ff;
+ ~G12x0y5(); // tgen
+ G12x0y5(); // tgen
+};
+//SIG(1 G12x0y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x0y5 ::~G12x0y5(){ note_dtor("G12x0y5", this);} // tgen
+G12x0y5 ::G12x0y5(){ note_ctor("G12x0y5", this);} // tgen
+
+static void Test_G12x0y5()
+{
+ extern Class_Descriptor cd_G12x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x0y5, buf);
+ G12x0y5 *dp, &lv = *(dp=new (buf) G12x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y5)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(24,16), "G12x0y5");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(48,36), "G12x0y5");
+ check_base_class_offset(lv, (C12*)(E12x0*), ABISELECT(16,12), "G12x0y5");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(32,24), "G12x0y5");
+ check_base_class_offset(lv, (E12x0*), ABISELECT(16,12), "G12x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x0y5.ff");
+ test_class_info(&lv, &cd_G12x0y5);
+ dp->~G12x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y5(Test_G12x0y5, "G12x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y5C1Ev();
+extern void _ZN7G12x0y5D1Ev();
+Name_Map name_map_G12x0y5[] = {
+ NSPAIR(_ZN7G12x0y5C1Ev),
+ NSPAIR(_ZN7G12x0y5D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x0y5[] = {
+ // 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
+ 11, //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
+ 8, //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_E12x0, 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 _ZTI7G12x0y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y5[0]),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y5[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y5[] = {
+ {&(_ZTV7G12x0y5[4]), 4,15},
+ {&(_ZTV7G12x0y5[8]), 8,15},
+ {&(_ZTV7G12x0y5[14]), 14,15},
+ {&(_ZTV7G12x0y5[10]), 10,15},
+ {&(_tg__ZTV5E12x0__7G12x0y5[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x0y5[];
+extern VTBL_ENTRY _ZTV7G12x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y5[];
+Class_Descriptor cd_G12x0y5 = { "G12x0y5", // class name
+ bases_G12x0y5, 6,
+ &(vtc_G12x0y5[0]), // expected_vtbl_contents
+ &(vtt_G12x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y5),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y5),8, //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 G12x0y6 : E12x0 , virtual F0 {
+ int ff;
+ ~G12x0y6(); // tgen
+ G12x0y6(); // tgen
+};
+//SIG(1 G12x0y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x0y6 ::~G12x0y6(){ note_dtor("G12x0y6", this);} // tgen
+G12x0y6 ::G12x0y6(){ note_ctor("G12x0y6", this);} // tgen
+
+static void Test_G12x0y6()
+{
+ extern Class_Descriptor cd_G12x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x0y6, buf);
+ G12x0y6 *dp, &lv = *(dp=new (buf) G12x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y6)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(8,4), "G12x0y6");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(40,28), "G12x0y6");
+ check_base_class_offset(lv, (C12*)(E12x0*), 0, "G12x0y6");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(16,12), "G12x0y6");
+ check_base_class_offset(lv, (E12x0*), 0, "G12x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G12x0y6.ff");
+ test_class_info(&lv, &cd_G12x0y6);
+ dp->~G12x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y6(Test_G12x0y6, "G12x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y6C1Ev();
+extern void _ZN7G12x0y6D1Ev();
+Name_Map name_map_G12x0y6[] = {
+ NSPAIR(_ZN7G12x0y6C1Ev),
+ NSPAIR(_ZN7G12x0y6D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x0y6[] = {
+ // 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
+ 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_E12x0, 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 _ZTI7G12x0y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y6[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y6[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y6[] = {
+ {&(_ZTV7G12x0y6[4]), 4,11},
+ {&(_tg__ZTV5E12x0__7G12x0y6[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y6[3]), 3,4},
+ {&(_ZTV7G12x0y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G12x0y6[];
+extern VTBL_ENTRY _ZTV7G12x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y6[];
+Class_Descriptor cd_G12x0y6 = { "G12x0y6", // class name
+ bases_G12x0y6, 6,
+ &(vtc_G12x0y6[0]), // expected_vtbl_contents
+ &(vtt_G12x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y6),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y6),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 G12x0y7 : virtual E12x0 , virtual F0 {
+ int ff;
+ ~G12x0y7(); // tgen
+ G12x0y7(); // tgen
+};
+//SIG(1 G12x0y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x0y7 ::~G12x0y7(){ note_dtor("G12x0y7", this);} // tgen
+G12x0y7 ::G12x0y7(){ note_ctor("G12x0y7", this);} // tgen
+
+static void Test_G12x0y7()
+{
+ extern Class_Descriptor cd_G12x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x0y7, buf);
+ G12x0y7 *dp, &lv = *(dp=new (buf) G12x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x0y7)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x0*), ABISELECT(24,12), "G12x0y7");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x0*), ABISELECT(48,32), "G12x0y7");
+ check_base_class_offset(lv, (C12*)(E12x0*), ABISELECT(16,8), "G12x0y7");
+ check_base_class_offset(lv, (D1*)(E12x0*), ABISELECT(32,20), "G12x0y7");
+ check_base_class_offset(lv, (E12x0*), ABISELECT(16,8), "G12x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G12x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x0y7.ff");
+ test_class_info(&lv, &cd_G12x0y7);
+ dp->~G12x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x0y7(Test_G12x0y7, "G12x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x0y7C1Ev();
+extern void _ZN7G12x0y7D1Ev();
+Name_Map name_map_G12x0y7[] = {
+ NSPAIR(_ZN7G12x0y7C1Ev),
+ NSPAIR(_ZN7G12x0y7D1Ev),
+ {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_E12x0;
+extern VTBL_ENTRY _ZTI5E12x0[];
+extern VTBL_ENTRY _ZTV5E12x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x0y7[] = {
+ // 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
+ 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,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
+ 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_E12x0, 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 _ZTI7G12x0y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x0y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x0y7[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x0y7[];
+static VTBL_ENTRY _tg__ZTV5E12x0__7G12x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x0__7G12x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x0__7G12x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x0__7G12x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x0y7[] = {
+ {&(_ZTV7G12x0y7[5]), 5,16},
+ {&(_ZTV7G12x0y7[9]), 9,16},
+ {&(_ZTV7G12x0y7[15]), 15,16},
+ {&(_ZTV7G12x0y7[11]), 11,16},
+ {&(_tg__ZTV5E12x0__7G12x0y7[3]), 3,3},
+ {&(_tg__ZTV3C125E12x0__7G12x0y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x0__7G12x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x0__7G12x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x0y7[];
+extern VTBL_ENTRY _ZTV7G12x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x0y7[];
+Class_Descriptor cd_G12x0y7 = { "G12x0y7", // class name
+ bases_G12x0y7, 6,
+ &(vtc_G12x0y7[0]), // expected_vtbl_contents
+ &(vtt_G12x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x0y7),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x0y7),8, //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 E13x0 : C13 , D1 {
+ int fd;
+ ~E13x0(); // tgen
+ E13x0(); // tgen
+};
+//SIG(-1 E13x0) C1{ BC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E13x0 ::~E13x0(){ note_dtor("E13x0", this);} // tgen
+E13x0 ::E13x0(){ note_ctor("E13x0", this);} // tgen
+
+static void Test_E13x0()
+{
+ extern Class_Descriptor cd_E13x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E13x0, buf);
+ E13x0 *dp, &lv = *(dp=new (buf) E13x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E13x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x0)");
+ check_base_class_offset(lv, (A1*)(C13*), 0, "E13x0");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "E13x0");
+ check_base_class_offset(lv, (C13*), 0, "E13x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E13x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E13x0.fd");
+ test_class_info(&lv, &cd_E13x0);
+ dp->~E13x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x0(Test_E13x0, "E13x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x0C1Ev();
+extern void _ZN5E13x0D1Ev();
+Name_Map name_map_E13x0[] = {
+ NSPAIR(_ZN5E13x0C1Ev),
+ NSPAIR(_ZN5E13x0D1Ev),
+ {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_E13x0[] = {
+ // 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 _ZTI5E13x0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x0[] = {
+ {&(_ZTV5E13x0[3]), 3,11},
+ {&(_tg__ZTV3C13__5E13x0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x0[3]), 3,4},
+ {&(_ZTV5E13x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+Class_Descriptor cd_E13x0 = { "E13x0", // class name
+ bases_E13x0, 4,
+ &(vtc_E13x0[0]), // expected_vtbl_contents
+ &(vtt_E13x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E13x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x0),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 G13x0y0 : E13x0 , F1 {
+ int ff;
+ ~G13x0y0(); // tgen
+ G13x0y0(); // tgen
+};
+//SIG(1 G13x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x0y0 ::~G13x0y0(){ note_dtor("G13x0y0", this);} // tgen
+G13x0y0 ::G13x0y0(){ note_ctor("G13x0y0", this);} // tgen
+
+static void Test_G13x0y0()
+{
+ extern Class_Descriptor cd_G13x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x0y0, buf);
+ G13x0y0 *dp, &lv = *(dp=new (buf) G13x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y0)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), 0, "G13x0y0");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(48,36), "G13x0y0");
+ check_base_class_offset(lv, (C13*)(E13x0*), 0, "G13x0y0");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(16,12), "G13x0y0");
+ check_base_class_offset(lv, (E13x0*), 0, "G13x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G13x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G13x0y0.ff");
+ test_class_info(&lv, &cd_G13x0y0);
+ dp->~G13x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y0(Test_G13x0y0, "G13x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y0C1Ev();
+extern void _ZN7G13x0y0D1Ev();
+Name_Map name_map_G13x0y0[] = {
+ NSPAIR(_ZN7G13x0y0C1Ev),
+ NSPAIR(_ZN7G13x0y0D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x0y0[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y0[] = {
+ {&(_ZTV7G13x0y0[3]), 3,14},
+ {&(_tg__ZTV5E13x0__7G13x0y0[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y0[3]), 3,4},
+ {&(_ZTV7G13x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G13x0y0[];
+extern VTBL_ENTRY _ZTV7G13x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y0[];
+Class_Descriptor cd_G13x0y0 = { "G13x0y0", // class name
+ bases_G13x0y0, 6,
+ &(vtc_G13x0y0[0]), // expected_vtbl_contents
+ &(vtt_G13x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y0),6, //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 G13x0y1 : virtual E13x0 , F1 {
+ int ff;
+ ~G13x0y1(); // tgen
+ G13x0y1(); // tgen
+};
+//SIG(1 G13x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x0y1 ::~G13x0y1(){ note_dtor("G13x0y1", this);} // tgen
+G13x0y1 ::G13x0y1(){ note_ctor("G13x0y1", this);} // tgen
+
+static void Test_G13x0y1()
+{
+ extern Class_Descriptor cd_G13x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x0y1, buf);
+ G13x0y1 *dp, &lv = *(dp=new (buf) G13x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y1)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), ABISELECT(16,12), "G13x0y1");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(48,36), "G13x0y1");
+ check_base_class_offset(lv, (C13*)(E13x0*), ABISELECT(16,12), "G13x0y1");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(32,24), "G13x0y1");
+ check_base_class_offset(lv, (E13x0*), ABISELECT(16,12), "G13x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x0y1.ff");
+ test_class_info(&lv, &cd_G13x0y1);
+ dp->~G13x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y1(Test_G13x0y1, "G13x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y1C1Ev();
+extern void _ZN7G13x0y1D1Ev();
+Name_Map name_map_G13x0y1[] = {
+ NSPAIR(_ZN7G13x0y1C1Ev),
+ NSPAIR(_ZN7G13x0y1D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x0y1[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y1[] = {
+ {&(_ZTV7G13x0y1[4]), 4,17},
+ {&(_ZTV7G13x0y1[9]), 9,17},
+ {&(_ZTV7G13x0y1[16]), 16,17},
+ {&(_ZTV7G13x0y1[12]), 12,17},
+ {&(_tg__ZTV5E13x0__7G13x0y1[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x0y1[];
+extern VTBL_ENTRY _ZTV7G13x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y1[];
+Class_Descriptor cd_G13x0y1 = { "G13x0y1", // class name
+ bases_G13x0y1, 6,
+ &(vtc_G13x0y1[0]), // expected_vtbl_contents
+ &(vtt_G13x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y1),8, //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 G13x0y2 : E13x0 , virtual F1 {
+ int ff;
+ ~G13x0y2(); // tgen
+ G13x0y2(); // tgen
+};
+//SIG(1 G13x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x0y2 ::~G13x0y2(){ note_dtor("G13x0y2", this);} // tgen
+G13x0y2 ::G13x0y2(){ note_ctor("G13x0y2", this);} // tgen
+
+static void Test_G13x0y2()
+{
+ extern Class_Descriptor cd_G13x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x0y2, buf);
+ G13x0y2 *dp, &lv = *(dp=new (buf) G13x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y2)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), 0, "G13x0y2");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(40,28), "G13x0y2");
+ check_base_class_offset(lv, (C13*)(E13x0*), 0, "G13x0y2");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(16,12), "G13x0y2");
+ check_base_class_offset(lv, (E13x0*), 0, "G13x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G13x0y2.ff");
+ test_class_info(&lv, &cd_G13x0y2);
+ dp->~G13x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y2(Test_G13x0y2, "G13x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y2C1Ev();
+extern void _ZN7G13x0y2D1Ev();
+Name_Map name_map_G13x0y2[] = {
+ NSPAIR(_ZN7G13x0y2C1Ev),
+ NSPAIR(_ZN7G13x0y2D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x0y2[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y2[] = {
+ {&(_ZTV7G13x0y2[4]), 4,16},
+ {&(_tg__ZTV5E13x0__7G13x0y2[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y2[3]), 3,4},
+ {&(_ZTV7G13x0y2[11]), 11,16},
+ {&(_ZTV7G13x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G13x0y2[];
+extern VTBL_ENTRY _ZTV7G13x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y2[];
+Class_Descriptor cd_G13x0y2 = { "G13x0y2", // class name
+ bases_G13x0y2, 6,
+ &(vtc_G13x0y2[0]), // expected_vtbl_contents
+ &(vtt_G13x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y2),7, //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 G13x0y3 : virtual E13x0 , virtual F1 {
+ int ff;
+ ~G13x0y3(); // tgen
+ G13x0y3(); // tgen
+};
+//SIG(1 G13x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x0y3 ::~G13x0y3(){ note_dtor("G13x0y3", this);} // tgen
+G13x0y3 ::G13x0y3(){ note_ctor("G13x0y3", this);} // tgen
+
+static void Test_G13x0y3()
+{
+ extern Class_Descriptor cd_G13x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x0y3, buf);
+ G13x0y3 *dp, &lv = *(dp=new (buf) G13x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y3)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), ABISELECT(16,8), "G13x0y3");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(48,32), "G13x0y3");
+ check_base_class_offset(lv, (C13*)(E13x0*), ABISELECT(16,8), "G13x0y3");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(32,20), "G13x0y3");
+ check_base_class_offset(lv, (E13x0*), ABISELECT(16,8), "G13x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x0y3.ff");
+ test_class_info(&lv, &cd_G13x0y3);
+ dp->~G13x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y3(Test_G13x0y3, "G13x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y3C1Ev();
+extern void _ZN7G13x0y3D1Ev();
+Name_Map name_map_G13x0y3[] = {
+ NSPAIR(_ZN7G13x0y3C1Ev),
+ NSPAIR(_ZN7G13x0y3D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x0y3[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y3[] = {
+ {&(_ZTV7G13x0y3[5]), 5,21},
+ {&(_ZTV7G13x0y3[9]), 9,21},
+ {&(_ZTV7G13x0y3[16]), 16,21},
+ {&(_ZTV7G13x0y3[12]), 12,21},
+ {&(_ZTV7G13x0y3[20]), 20,21},
+ {&(_tg__ZTV5E13x0__7G13x0y3[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x0y3[];
+extern VTBL_ENTRY _ZTV7G13x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y3[];
+Class_Descriptor cd_G13x0y3 = { "G13x0y3", // class name
+ bases_G13x0y3, 6,
+ &(vtc_G13x0y3[0]), // expected_vtbl_contents
+ &(vtt_G13x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y3),9, //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 G13x0y4 : E13x0 , F0 {
+ int ff;
+ ~G13x0y4(); // tgen
+ G13x0y4(); // tgen
+};
+//SIG(1 G13x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x0y4 ::~G13x0y4(){ note_dtor("G13x0y4", this);} // tgen
+G13x0y4 ::G13x0y4(){ note_ctor("G13x0y4", this);} // tgen
+
+static void Test_G13x0y4()
+{
+ extern Class_Descriptor cd_G13x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x0y4, buf);
+ G13x0y4 *dp, &lv = *(dp=new (buf) G13x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y4)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), 0, "G13x0y4");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(40,32), "G13x0y4");
+ check_base_class_offset(lv, (C13*)(E13x0*), 0, "G13x0y4");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(16,12), "G13x0y4");
+ check_base_class_offset(lv, (E13x0*), 0, "G13x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G13x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G13x0y4.ff");
+ test_class_info(&lv, &cd_G13x0y4);
+ dp->~G13x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y4(Test_G13x0y4, "G13x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y4C1Ev();
+extern void _ZN7G13x0y4D1Ev();
+Name_Map name_map_G13x0y4[] = {
+ NSPAIR(_ZN7G13x0y4C1Ev),
+ NSPAIR(_ZN7G13x0y4D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x0y4[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y4[] = {
+ {&(_ZTV7G13x0y4[3]), 3,11},
+ {&(_tg__ZTV5E13x0__7G13x0y4[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y4[3]), 3,4},
+ {&(_ZTV7G13x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G13x0y4[];
+extern VTBL_ENTRY _ZTV7G13x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y4[];
+Class_Descriptor cd_G13x0y4 = { "G13x0y4", // class name
+ bases_G13x0y4, 6,
+ &(vtc_G13x0y4[0]), // expected_vtbl_contents
+ &(vtt_G13x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y4),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 G13x0y5 : virtual E13x0 , F0 {
+ int ff;
+ ~G13x0y5(); // tgen
+ G13x0y5(); // tgen
+};
+//SIG(1 G13x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x0y5 ::~G13x0y5(){ note_dtor("G13x0y5", this);} // tgen
+G13x0y5 ::G13x0y5(){ note_ctor("G13x0y5", this);} // tgen
+
+static void Test_G13x0y5()
+{
+ extern Class_Descriptor cd_G13x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x0y5, buf);
+ G13x0y5 *dp, &lv = *(dp=new (buf) G13x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y5)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), ABISELECT(16,12), "G13x0y5");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(48,36), "G13x0y5");
+ check_base_class_offset(lv, (C13*)(E13x0*), ABISELECT(16,12), "G13x0y5");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(32,24), "G13x0y5");
+ check_base_class_offset(lv, (E13x0*), ABISELECT(16,12), "G13x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x0y5.ff");
+ test_class_info(&lv, &cd_G13x0y5);
+ dp->~G13x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y5(Test_G13x0y5, "G13x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y5C1Ev();
+extern void _ZN7G13x0y5D1Ev();
+Name_Map name_map_G13x0y5[] = {
+ NSPAIR(_ZN7G13x0y5C1Ev),
+ NSPAIR(_ZN7G13x0y5D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x0y5[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y5[] = {
+ {&(_ZTV7G13x0y5[4]), 4,16},
+ {&(_ZTV7G13x0y5[8]), 8,16},
+ {&(_ZTV7G13x0y5[15]), 15,16},
+ {&(_ZTV7G13x0y5[11]), 11,16},
+ {&(_tg__ZTV5E13x0__7G13x0y5[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x0y5[];
+extern VTBL_ENTRY _ZTV7G13x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y5[];
+Class_Descriptor cd_G13x0y5 = { "G13x0y5", // class name
+ bases_G13x0y5, 6,
+ &(vtc_G13x0y5[0]), // expected_vtbl_contents
+ &(vtt_G13x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y5),8, //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 G13x0y6 : E13x0 , virtual F0 {
+ int ff;
+ ~G13x0y6(); // tgen
+ G13x0y6(); // tgen
+};
+//SIG(1 G13x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x0y6 ::~G13x0y6(){ note_dtor("G13x0y6", this);} // tgen
+G13x0y6 ::G13x0y6(){ note_ctor("G13x0y6", this);} // tgen
+
+static void Test_G13x0y6()
+{
+ extern Class_Descriptor cd_G13x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x0y6, buf);
+ G13x0y6 *dp, &lv = *(dp=new (buf) G13x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y6)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), 0, "G13x0y6");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(40,28), "G13x0y6");
+ check_base_class_offset(lv, (C13*)(E13x0*), 0, "G13x0y6");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(16,12), "G13x0y6");
+ check_base_class_offset(lv, (E13x0*), 0, "G13x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G13x0y6.ff");
+ test_class_info(&lv, &cd_G13x0y6);
+ dp->~G13x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y6(Test_G13x0y6, "G13x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y6C1Ev();
+extern void _ZN7G13x0y6D1Ev();
+Name_Map name_map_G13x0y6[] = {
+ NSPAIR(_ZN7G13x0y6C1Ev),
+ NSPAIR(_ZN7G13x0y6D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x0y6[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y6[] = {
+ {&(_ZTV7G13x0y6[4]), 4,12},
+ {&(_tg__ZTV5E13x0__7G13x0y6[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y6[3]), 3,4},
+ {&(_ZTV7G13x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G13x0y6[];
+extern VTBL_ENTRY _ZTV7G13x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y6[];
+Class_Descriptor cd_G13x0y6 = { "G13x0y6", // class name
+ bases_G13x0y6, 6,
+ &(vtc_G13x0y6[0]), // expected_vtbl_contents
+ &(vtt_G13x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y6),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 G13x0y7 : virtual E13x0 , virtual F0 {
+ int ff;
+ ~G13x0y7(); // tgen
+ G13x0y7(); // tgen
+};
+//SIG(1 G13x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x0y7 ::~G13x0y7(){ note_dtor("G13x0y7", this);} // tgen
+G13x0y7 ::G13x0y7(){ note_ctor("G13x0y7", this);} // tgen
+
+static void Test_G13x0y7()
+{
+ extern Class_Descriptor cd_G13x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x0y7, buf);
+ G13x0y7 *dp, &lv = *(dp=new (buf) G13x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x0y7)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x0*), ABISELECT(16,8), "G13x0y7");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x0*), ABISELECT(48,32), "G13x0y7");
+ check_base_class_offset(lv, (C13*)(E13x0*), ABISELECT(16,8), "G13x0y7");
+ check_base_class_offset(lv, (D1*)(E13x0*), ABISELECT(32,20), "G13x0y7");
+ check_base_class_offset(lv, (E13x0*), ABISELECT(16,8), "G13x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G13x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x0y7.ff");
+ test_class_info(&lv, &cd_G13x0y7);
+ dp->~G13x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x0y7(Test_G13x0y7, "G13x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x0y7C1Ev();
+extern void _ZN7G13x0y7D1Ev();
+Name_Map name_map_G13x0y7[] = {
+ NSPAIR(_ZN7G13x0y7C1Ev),
+ NSPAIR(_ZN7G13x0y7D1Ev),
+ {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_E13x0;
+extern VTBL_ENTRY _ZTI5E13x0[];
+extern VTBL_ENTRY _ZTV5E13x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x0y7[] = {
+ // 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_E13x0, 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 _ZTI7G13x0y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x0y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x0__7G13x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x0__7G13x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x0__7G13x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x0__7G13x0y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x0y7[] = {
+ {&(_ZTV7G13x0y7[5]), 5,17},
+ {&(_ZTV7G13x0y7[9]), 9,17},
+ {&(_ZTV7G13x0y7[16]), 16,17},
+ {&(_ZTV7G13x0y7[12]), 12,17},
+ {&(_tg__ZTV5E13x0__7G13x0y7[3]), 3,4},
+ {&(_tg__ZTV3C135E13x0__7G13x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x0__7G13x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x0__7G13x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x0y7[];
+extern VTBL_ENTRY _ZTV7G13x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x0y7[];
+Class_Descriptor cd_G13x0y7 = { "G13x0y7", // class name
+ bases_G13x0y7, 6,
+ &(vtc_G13x0y7[0]), // expected_vtbl_contents
+ &(vtt_G13x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x0y7),8, //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 E14x0 : C14 , D1 {
+ int fd;
+ ~E14x0(); // tgen
+ E14x0(); // tgen
+};
+//SIG(-1 E14x0) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E14x0 ::~E14x0(){ note_dtor("E14x0", this);} // tgen
+E14x0 ::E14x0(){ note_ctor("E14x0", this);} // tgen
+
+static void Test_E14x0()
+{
+ extern Class_Descriptor cd_E14x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E14x0, buf);
+ E14x0 *dp, &lv = *(dp=new (buf) E14x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E14x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x0)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(32,20), "E14x0");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,24), "E14x0");
+ check_base_class_offset(lv, (C14*), 0, "E14x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E14x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E14x0.fd");
+ test_class_info(&lv, &cd_E14x0);
+ dp->~E14x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x0(Test_E14x0, "E14x0", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x0C1Ev();
+extern void _ZN5E14x0D1Ev();
+Name_Map name_map_E14x0[] = {
+ NSPAIR(_ZN5E14x0C1Ev),
+ NSPAIR(_ZN5E14x0D1Ev),
+ {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_E14x0[] = {
+ // 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
+ 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_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
+ 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 _ZTI5E14x0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x0[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x0[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x0[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x0[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x0[] = {
+ {&(_ZTV5E14x0[4]), 4,11},
+ {&(_tg__ZTV3C14__5E14x0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x0[3]), 3,4},
+ {&(_ZTV5E14x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+Class_Descriptor cd_E14x0 = { "E14x0", // class name
+ bases_E14x0, 4,
+ &(vtc_E14x0[0]), // expected_vtbl_contents
+ &(vtt_E14x0[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E14x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x0),4, //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 G14x0y0 : E14x0 , F1 {
+ int ff;
+ ~G14x0y0(); // tgen
+ G14x0y0(); // tgen
+};
+//SIG(1 G14x0y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x0y0 ::~G14x0y0(){ note_dtor("G14x0y0", this);} // tgen
+G14x0y0 ::G14x0y0(){ note_ctor("G14x0y0", this);} // tgen
+
+static void Test_G14x0y0()
+{
+ extern Class_Descriptor cd_G14x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x0y0, buf);
+ G14x0y0 *dp, &lv = *(dp=new (buf) G14x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y0)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(48,32), "G14x0y0");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(56,36), "G14x0y0");
+ check_base_class_offset(lv, (C14*)(E14x0*), 0, "G14x0y0");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(16,8), "G14x0y0");
+ check_base_class_offset(lv, (E14x0*), 0, "G14x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G14x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G14x0y0.ff");
+ test_class_info(&lv, &cd_G14x0y0);
+ dp->~G14x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y0(Test_G14x0y0, "G14x0y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y0C1Ev();
+extern void _ZN7G14x0y0D1Ev();
+Name_Map name_map_G14x0y0[] = {
+ NSPAIR(_ZN7G14x0y0C1Ev),
+ NSPAIR(_ZN7G14x0y0D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x0y0[] = {
+ // 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
+ 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_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
+ 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_E14x0, 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
+ 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 _ZTI7G14x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y0[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y0[] = {
+ {&(_ZTV7G14x0y0[4]), 4,14},
+ {&(_tg__ZTV5E14x0__7G14x0y0[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y0[3]), 3,4},
+ {&(_ZTV7G14x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G14x0y0[];
+extern VTBL_ENTRY _ZTV7G14x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y0[];
+Class_Descriptor cd_G14x0y0 = { "G14x0y0", // class name
+ bases_G14x0y0, 6,
+ &(vtc_G14x0y0[0]), // expected_vtbl_contents
+ &(vtt_G14x0y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y0),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 G14x0y1 : virtual E14x0 , F1 {
+ int ff;
+ ~G14x0y1(); // tgen
+ G14x0y1(); // tgen
+};
+//SIG(1 G14x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x0y1 ::~G14x0y1(){ note_dtor("G14x0y1", this);} // tgen
+G14x0y1 ::G14x0y1(){ note_ctor("G14x0y1", this);} // tgen
+
+static void Test_G14x0y1()
+{
+ extern Class_Descriptor cd_G14x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x0y1, buf);
+ G14x0y1 *dp, &lv = *(dp=new (buf) G14x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y1)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(48,32), "G14x0y1");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(56,36), "G14x0y1");
+ check_base_class_offset(lv, (C14*)(E14x0*), ABISELECT(16,12), "G14x0y1");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(32,20), "G14x0y1");
+ check_base_class_offset(lv, (E14x0*), ABISELECT(16,12), "G14x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x0y1.ff");
+ test_class_info(&lv, &cd_G14x0y1);
+ dp->~G14x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y1(Test_G14x0y1, "G14x0y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y1C1Ev();
+extern void _ZN7G14x0y1D1Ev();
+Name_Map name_map_G14x0y1[] = {
+ NSPAIR(_ZN7G14x0y1C1Ev),
+ NSPAIR(_ZN7G14x0y1D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x0y1[] = {
+ // 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_E14x0, 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 _ZTI7G14x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,8),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x0y1[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y1[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y1[] = {
+ {&(_ZTV7G14x0y1[5]), 5,18},
+ {&(_ZTV7G14x0y1[11]), 11,18},
+ {&(_ZTV7G14x0y1[17]), 17,18},
+ {&(_ZTV7G14x0y1[13]), 13,18},
+ {&(_tg__ZTV5E14x0__7G14x0y1[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x0y1[];
+extern VTBL_ENTRY _ZTV7G14x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y1[];
+Class_Descriptor cd_G14x0y1 = { "G14x0y1", // class name
+ bases_G14x0y1, 6,
+ &(vtc_G14x0y1[0]), // expected_vtbl_contents
+ &(vtt_G14x0y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y1),8, //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 G14x0y2 : E14x0 , virtual F1 {
+ int ff;
+ ~G14x0y2(); // tgen
+ G14x0y2(); // tgen
+};
+//SIG(1 G14x0y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x0y2 ::~G14x0y2(){ note_dtor("G14x0y2", this);} // tgen
+G14x0y2 ::G14x0y2(){ note_ctor("G14x0y2", this);} // tgen
+
+static void Test_G14x0y2()
+{
+ extern Class_Descriptor cd_G14x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x0y2, buf);
+ G14x0y2 *dp, &lv = *(dp=new (buf) G14x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y2)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(36,24), "G14x0y2");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(40,28), "G14x0y2");
+ check_base_class_offset(lv, (C14*)(E14x0*), 0, "G14x0y2");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(16,8), "G14x0y2");
+ check_base_class_offset(lv, (E14x0*), 0, "G14x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G14x0y2.ff");
+ test_class_info(&lv, &cd_G14x0y2);
+ dp->~G14x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y2(Test_G14x0y2, "G14x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y2C1Ev();
+extern void _ZN7G14x0y2D1Ev();
+Name_Map name_map_G14x0y2[] = {
+ NSPAIR(_ZN7G14x0y2C1Ev),
+ NSPAIR(_ZN7G14x0y2D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x0y2[] = {
+ // 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
+ 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
+ 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_E14x0, 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
+ 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 _ZTI7G14x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y2[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y2[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y2[] = {
+ {&(_ZTV7G14x0y2[5]), 5,16},
+ {&(_tg__ZTV5E14x0__7G14x0y2[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y2[3]), 3,4},
+ {&(_ZTV7G14x0y2[11]), 11,16},
+ {&(_ZTV7G14x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G14x0y2[];
+extern VTBL_ENTRY _ZTV7G14x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y2[];
+Class_Descriptor cd_G14x0y2 = { "G14x0y2", // class name
+ bases_G14x0y2, 6,
+ &(vtc_G14x0y2[0]), // expected_vtbl_contents
+ &(vtt_G14x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y2),7, //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 G14x0y3 : virtual E14x0 , virtual F1 {
+ int ff;
+ ~G14x0y3(); // tgen
+ G14x0y3(); // tgen
+};
+//SIG(1 G14x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x0y3 ::~G14x0y3(){ note_dtor("G14x0y3", this);} // tgen
+G14x0y3 ::G14x0y3(){ note_ctor("G14x0y3", this);} // tgen
+
+static void Test_G14x0y3()
+{
+ extern Class_Descriptor cd_G14x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G14x0y3, buf);
+ G14x0y3 *dp, &lv = *(dp=new (buf) G14x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G14x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y3)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(48,28), "G14x0y3");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(56,32), "G14x0y3");
+ check_base_class_offset(lv, (C14*)(E14x0*), ABISELECT(16,8), "G14x0y3");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(32,16), "G14x0y3");
+ check_base_class_offset(lv, (E14x0*), ABISELECT(16,8), "G14x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G14x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x0y3.ff");
+ test_class_info(&lv, &cd_G14x0y3);
+ dp->~G14x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y3(Test_G14x0y3, "G14x0y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y3C1Ev();
+extern void _ZN7G14x0y3D1Ev();
+Name_Map name_map_G14x0y3[] = {
+ NSPAIR(_ZN7G14x0y3C1Ev),
+ NSPAIR(_ZN7G14x0y3D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x0y3[] = {
+ // 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
+ 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,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
+ 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_E14x0, 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
+ 18, //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 _ZTI7G14x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x0y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y3[0]),
+ ABISELECT(16,8),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y3[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y3[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y3[] = {
+ {&(_ZTV7G14x0y3[6]), 6,22},
+ {&(_ZTV7G14x0y3[11]), 11,22},
+ {&(_ZTV7G14x0y3[17]), 17,22},
+ {&(_ZTV7G14x0y3[13]), 13,22},
+ {&(_ZTV7G14x0y3[21]), 21,22},
+ {&(_tg__ZTV5E14x0__7G14x0y3[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x0y3[];
+extern VTBL_ENTRY _ZTV7G14x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y3[];
+Class_Descriptor cd_G14x0y3 = { "G14x0y3", // class name
+ bases_G14x0y3, 6,
+ &(vtc_G14x0y3[0]), // expected_vtbl_contents
+ &(vtt_G14x0y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G14x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y3),9, //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 G14x0y4 : E14x0 , F0 {
+ int ff;
+ ~G14x0y4(); // tgen
+ G14x0y4(); // tgen
+};
+//SIG(1 G14x0y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x0y4 ::~G14x0y4(){ note_dtor("G14x0y4", this);} // tgen
+G14x0y4 ::G14x0y4(){ note_ctor("G14x0y4", this);} // tgen
+
+static void Test_G14x0y4()
+{
+ extern Class_Descriptor cd_G14x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x0y4, buf);
+ G14x0y4 *dp, &lv = *(dp=new (buf) G14x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y4)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(40,28), "G14x0y4");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(48,32), "G14x0y4");
+ check_base_class_offset(lv, (C14*)(E14x0*), 0, "G14x0y4");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(16,8), "G14x0y4");
+ check_base_class_offset(lv, (E14x0*), 0, "G14x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G14x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G14x0y4.ff");
+ test_class_info(&lv, &cd_G14x0y4);
+ dp->~G14x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y4(Test_G14x0y4, "G14x0y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y4C1Ev();
+extern void _ZN7G14x0y4D1Ev();
+Name_Map name_map_G14x0y4[] = {
+ NSPAIR(_ZN7G14x0y4C1Ev),
+ NSPAIR(_ZN7G14x0y4D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x0y4[] = {
+ // 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
+ 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_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
+ 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_E14x0, 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 _ZTI7G14x0y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y4[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y4[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y4[] = {
+ {&(_ZTV7G14x0y4[4]), 4,11},
+ {&(_tg__ZTV5E14x0__7G14x0y4[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y4[3]), 3,4},
+ {&(_ZTV7G14x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G14x0y4[];
+extern VTBL_ENTRY _ZTV7G14x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y4[];
+Class_Descriptor cd_G14x0y4 = { "G14x0y4", // class name
+ bases_G14x0y4, 6,
+ &(vtc_G14x0y4[0]), // expected_vtbl_contents
+ &(vtt_G14x0y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y4),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 G14x0y5 : virtual E14x0 , F0 {
+ int ff;
+ ~G14x0y5(); // tgen
+ G14x0y5(); // tgen
+};
+//SIG(1 G14x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x0y5 ::~G14x0y5(){ note_dtor("G14x0y5", this);} // tgen
+G14x0y5 ::G14x0y5(){ note_ctor("G14x0y5", this);} // tgen
+
+static void Test_G14x0y5()
+{
+ extern Class_Descriptor cd_G14x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x0y5, buf);
+ G14x0y5 *dp, &lv = *(dp=new (buf) G14x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y5)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(48,32), "G14x0y5");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(56,36), "G14x0y5");
+ check_base_class_offset(lv, (C14*)(E14x0*), ABISELECT(16,12), "G14x0y5");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(32,20), "G14x0y5");
+ check_base_class_offset(lv, (E14x0*), ABISELECT(16,12), "G14x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x0y5.ff");
+ test_class_info(&lv, &cd_G14x0y5);
+ dp->~G14x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y5(Test_G14x0y5, "G14x0y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y5C1Ev();
+extern void _ZN7G14x0y5D1Ev();
+Name_Map name_map_G14x0y5[] = {
+ NSPAIR(_ZN7G14x0y5C1Ev),
+ NSPAIR(_ZN7G14x0y5D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x0y5[] = {
+ // 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
+ 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_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
+ 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_E14x0, 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 _ZTI7G14x0y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y5[0]),
+ ABISELECT(16,8),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x0y5[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y5[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y5[] = {
+ {&(_ZTV7G14x0y5[5]), 5,17},
+ {&(_ZTV7G14x0y5[10]), 10,17},
+ {&(_ZTV7G14x0y5[16]), 16,17},
+ {&(_ZTV7G14x0y5[12]), 12,17},
+ {&(_tg__ZTV5E14x0__7G14x0y5[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x0y5[];
+extern VTBL_ENTRY _ZTV7G14x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y5[];
+Class_Descriptor cd_G14x0y5 = { "G14x0y5", // class name
+ bases_G14x0y5, 6,
+ &(vtc_G14x0y5[0]), // expected_vtbl_contents
+ &(vtt_G14x0y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y5),8, //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 G14x0y6 : E14x0 , virtual F0 {
+ int ff;
+ ~G14x0y6(); // tgen
+ G14x0y6(); // tgen
+};
+//SIG(1 G14x0y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x0y6 ::~G14x0y6(){ note_dtor("G14x0y6", this);} // tgen
+G14x0y6 ::G14x0y6(){ note_ctor("G14x0y6", this);} // tgen
+
+static void Test_G14x0y6()
+{
+ extern Class_Descriptor cd_G14x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x0y6, buf);
+ G14x0y6 *dp, &lv = *(dp=new (buf) G14x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y6)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(36,24), "G14x0y6");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(40,28), "G14x0y6");
+ check_base_class_offset(lv, (C14*)(E14x0*), 0, "G14x0y6");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(16,8), "G14x0y6");
+ check_base_class_offset(lv, (E14x0*), 0, "G14x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G14x0y6.ff");
+ test_class_info(&lv, &cd_G14x0y6);
+ dp->~G14x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y6(Test_G14x0y6, "G14x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y6C1Ev();
+extern void _ZN7G14x0y6D1Ev();
+Name_Map name_map_G14x0y6[] = {
+ NSPAIR(_ZN7G14x0y6C1Ev),
+ NSPAIR(_ZN7G14x0y6D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x0y6[] = {
+ // 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
+ 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_E14x0, 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 _ZTI7G14x0y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y6[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y6[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y6[] = {
+ {&(_ZTV7G14x0y6[5]), 5,12},
+ {&(_tg__ZTV5E14x0__7G14x0y6[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y6[3]), 3,4},
+ {&(_ZTV7G14x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G14x0y6[];
+extern VTBL_ENTRY _ZTV7G14x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y6[];
+Class_Descriptor cd_G14x0y6 = { "G14x0y6", // class name
+ bases_G14x0y6, 6,
+ &(vtc_G14x0y6[0]), // expected_vtbl_contents
+ &(vtt_G14x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y6),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 G14x0y7 : virtual E14x0 , virtual F0 {
+ int ff;
+ ~G14x0y7(); // tgen
+ G14x0y7(); // tgen
+};
+//SIG(1 G14x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x0y7 ::~G14x0y7(){ note_dtor("G14x0y7", this);} // tgen
+G14x0y7 ::G14x0y7(){ note_ctor("G14x0y7", this);} // tgen
+
+static void Test_G14x0y7()
+{
+ extern Class_Descriptor cd_G14x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x0y7, buf);
+ G14x0y7 *dp, &lv = *(dp=new (buf) G14x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x0y7)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x0*), ABISELECT(48,28), "G14x0y7");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x0*), ABISELECT(56,32), "G14x0y7");
+ check_base_class_offset(lv, (C14*)(E14x0*), ABISELECT(16,8), "G14x0y7");
+ check_base_class_offset(lv, (D1*)(E14x0*), ABISELECT(32,16), "G14x0y7");
+ check_base_class_offset(lv, (E14x0*), ABISELECT(16,8), "G14x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G14x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x0y7.ff");
+ test_class_info(&lv, &cd_G14x0y7);
+ dp->~G14x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x0y7(Test_G14x0y7, "G14x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x0y7C1Ev();
+extern void _ZN7G14x0y7D1Ev();
+Name_Map name_map_G14x0y7[] = {
+ NSPAIR(_ZN7G14x0y7C1Ev),
+ NSPAIR(_ZN7G14x0y7D1Ev),
+ {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_E14x0;
+extern VTBL_ENTRY _ZTI5E14x0[];
+extern VTBL_ENTRY _ZTV5E14x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x0y7[] = {
+ // 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
+ 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,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
+ 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_E14x0, 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 _ZTI7G14x0y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x0y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x0y7[0]),
+ ABISELECT(16,8),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x0y7[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x0y7[];
+static VTBL_ENTRY _tg__ZTV5E14x0__7G14x0y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x0__7G14x0y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x0__7G14x0y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x0__7G14x0y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x0y7[] = {
+ {&(_ZTV7G14x0y7[6]), 6,18},
+ {&(_ZTV7G14x0y7[11]), 11,18},
+ {&(_ZTV7G14x0y7[17]), 17,18},
+ {&(_ZTV7G14x0y7[13]), 13,18},
+ {&(_tg__ZTV5E14x0__7G14x0y7[4]), 4,4},
+ {&(_tg__ZTV3C145E14x0__7G14x0y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x0__7G14x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x0__7G14x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x0y7[];
+extern VTBL_ENTRY _ZTV7G14x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x0y7[];
+Class_Descriptor cd_G14x0y7 = { "G14x0y7", // class name
+ bases_G14x0y7, 6,
+ &(vtc_G14x0y7[0]), // expected_vtbl_contents
+ &(vtt_G14x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x0y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x0y7),8, //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 E15x0 : C15 , D1 {
+ int fd;
+ ~E15x0(); // tgen
+ E15x0(); // tgen
+};
+//SIG(-1 E15x0) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E15x0 ::~E15x0(){ note_dtor("E15x0", this);} // tgen
+E15x0 ::E15x0(){ note_ctor("E15x0", this);} // tgen
+
+static void Test_E15x0()
+{
+ extern Class_Descriptor cd_E15x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x0, buf);
+ E15x0 *dp, &lv = *(dp=new (buf) E15x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x0)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "E15x0");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "E15x0");
+ check_base_class_offset(lv, (C15*), 0, "E15x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E15x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E15x0.fd");
+ test_class_info(&lv, &cd_E15x0);
+ dp->~E15x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x0(Test_E15x0, "E15x0", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x0C1Ev();
+extern void _ZN5E15x0D1Ev();
+Name_Map name_map_E15x0[] = {
+ NSPAIR(_ZN5E15x0C1Ev),
+ NSPAIR(_ZN5E15x0D1Ev),
+ {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_E15x0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 7, //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
+ 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
+ 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
+ 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 _ZTI5E15x0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x0[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x0[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x0[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x0[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x0[] = {
+ {&(_ZTV5E15x0[4]), 4,15},
+ {&(_tg__ZTV3C15__5E15x0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x0[3]), 3,4},
+ {&(_ZTV5E15x0[10]), 10,15},
+ {&(_ZTV5E15x0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+Class_Descriptor cd_E15x0 = { "E15x0", // class name
+ bases_E15x0, 4,
+ &(vtc_E15x0[0]), // expected_vtbl_contents
+ &(vtt_E15x0[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x0),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 G15x0y0 : E15x0 , F1 {
+ int ff;
+ ~G15x0y0(); // tgen
+ G15x0y0(); // tgen
+};
+//SIG(1 G15x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x0y0 ::~G15x0y0(){ note_dtor("G15x0y0", this);} // tgen
+G15x0y0 ::G15x0y0(){ note_ctor("G15x0y0", this);} // tgen
+
+static void Test_G15x0y0()
+{
+ extern Class_Descriptor cd_G15x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x0y0, buf);
+ G15x0y0 *dp, &lv = *(dp=new (buf) G15x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y0)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(48,32), "G15x0y0");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(64,40), "G15x0y0");
+ check_base_class_offset(lv, (C15*)(E15x0*), 0, "G15x0y0");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(16,8), "G15x0y0");
+ check_base_class_offset(lv, (E15x0*), 0, "G15x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G15x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G15x0y0.ff");
+ test_class_info(&lv, &cd_G15x0y0);
+ dp->~G15x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y0(Test_G15x0y0, "G15x0y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y0C1Ev();
+extern void _ZN7G15x0y0D1Ev();
+Name_Map name_map_G15x0y0[] = {
+ NSPAIR(_ZN7G15x0y0C1Ev),
+ NSPAIR(_ZN7G15x0y0D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x0y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 10, //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
+ 14, //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
+ 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_E15x0, 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
+ 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 _ZTI7G15x0y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x0y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x0y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y0[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y0[] = {
+ {&(_ZTV7G15x0y0[4]), 4,18},
+ {&(_tg__ZTV5E15x0__7G15x0y0[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y0[3]), 3,4},
+ {&(_ZTV7G15x0y0[13]), 13,18},
+ {&(_ZTV7G15x0y0[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G15x0y0[];
+extern VTBL_ENTRY _ZTV7G15x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y0[];
+Class_Descriptor cd_G15x0y0 = { "G15x0y0", // class name
+ bases_G15x0y0, 6,
+ &(vtc_G15x0y0[0]), // expected_vtbl_contents
+ &(vtt_G15x0y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y0),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y0),9, //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 G15x0y1 : virtual E15x0 , F1 {
+ int ff;
+ ~G15x0y1(); // tgen
+ G15x0y1(); // tgen
+};
+//SIG(1 G15x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x0y1 ::~G15x0y1(){ note_dtor("G15x0y1", this);} // tgen
+G15x0y1 ::G15x0y1(){ note_ctor("G15x0y1", this);} // tgen
+
+static void Test_G15x0y1()
+{
+ extern Class_Descriptor cd_G15x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x0y1, buf);
+ G15x0y1 *dp, &lv = *(dp=new (buf) G15x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y1)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(48,32), "G15x0y1");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(64,40), "G15x0y1");
+ check_base_class_offset(lv, (C15*)(E15x0*), ABISELECT(16,12), "G15x0y1");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(32,20), "G15x0y1");
+ check_base_class_offset(lv, (E15x0*), ABISELECT(16,12), "G15x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x0y1.ff");
+ test_class_info(&lv, &cd_G15x0y1);
+ dp->~G15x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y1(Test_G15x0y1, "G15x0y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y1C1Ev();
+extern void _ZN7G15x0y1D1Ev();
+Name_Map name_map_G15x0y1[] = {
+ NSPAIR(_ZN7G15x0y1C1Ev),
+ NSPAIR(_ZN7G15x0y1D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x0y1[] = {
+ // 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_B1, ABISELECT(64,40), //bcp->offset
+ 18, //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
+ 11, //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_E15x0, 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 _ZTI7G15x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,8),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x0y1[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x0y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x0y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y1[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y1[] = {
+ {&(_ZTV7G15x0y1[5]), 5,22},
+ {&(_ZTV7G15x0y1[11]), 11,22},
+ {&(_ZTV7G15x0y1[17]), 17,22},
+ {&(_ZTV7G15x0y1[21]), 21,22},
+ {&(_ZTV7G15x0y1[13]), 13,22},
+ {&(_tg__ZTV5E15x0__7G15x0y1[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x0y1[];
+extern VTBL_ENTRY _ZTV7G15x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y1[];
+Class_Descriptor cd_G15x0y1 = { "G15x0y1", // class name
+ bases_G15x0y1, 6,
+ &(vtc_G15x0y1[0]), // expected_vtbl_contents
+ &(vtt_G15x0y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y1),22, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y1),11, //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 G15x0y2 : E15x0 , virtual F1 {
+ int ff;
+ ~G15x0y2(); // tgen
+ G15x0y2(); // tgen
+};
+//SIG(1 G15x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x0y2 ::~G15x0y2(){ note_dtor("G15x0y2", this);} // tgen
+G15x0y2 ::G15x0y2(){ note_ctor("G15x0y2", this);} // tgen
+
+static void Test_G15x0y2()
+{
+ extern Class_Descriptor cd_G15x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x0y2, buf);
+ G15x0y2 *dp, &lv = *(dp=new (buf) G15x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y2)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(40,24), "G15x0y2");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(56,32), "G15x0y2");
+ check_base_class_offset(lv, (C15*)(E15x0*), 0, "G15x0y2");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(16,8), "G15x0y2");
+ check_base_class_offset(lv, (E15x0*), 0, "G15x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G15x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G15x0y2.ff");
+ test_class_info(&lv, &cd_G15x0y2);
+ dp->~G15x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y2(Test_G15x0y2, "G15x0y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y2C1Ev();
+extern void _ZN7G15x0y2D1Ev();
+Name_Map name_map_G15x0y2[] = {
+ NSPAIR(_ZN7G15x0y2C1Ev),
+ NSPAIR(_ZN7G15x0y2D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x0y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 8, //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(56,32), //bcp->offset
+ 12, //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
+ 4, //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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x0, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 16, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //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 _ZTI7G15x0y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x0y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y2[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x0y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x0y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y2[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y2[] = {
+ {&(_ZTV7G15x0y2[5]), 5,20},
+ {&(_tg__ZTV5E15x0__7G15x0y2[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y2[3]), 3,4},
+ {&(_ZTV7G15x0y2[11]), 11,20},
+ {&(_ZTV7G15x0y2[15]), 15,20},
+ {&(_ZTV7G15x0y2[19]), 19,20},
+};
+extern VTBL_ENTRY _ZTI7G15x0y2[];
+extern VTBL_ENTRY _ZTV7G15x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y2[];
+Class_Descriptor cd_G15x0y2 = { "G15x0y2", // class name
+ bases_G15x0y2, 6,
+ &(vtc_G15x0y2[0]), // expected_vtbl_contents
+ &(vtt_G15x0y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y2),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y2),10, //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 G15x0y3 : virtual E15x0 , virtual F1 {
+ int ff;
+ ~G15x0y3(); // tgen
+ G15x0y3(); // tgen
+};
+//SIG(1 G15x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x0y3 ::~G15x0y3(){ note_dtor("G15x0y3", this);} // tgen
+G15x0y3 ::G15x0y3(){ note_ctor("G15x0y3", this);} // tgen
+
+static void Test_G15x0y3()
+{
+ extern Class_Descriptor cd_G15x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x0y3, buf);
+ G15x0y3 *dp, &lv = *(dp=new (buf) G15x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y3)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(48,28), "G15x0y3");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(64,36), "G15x0y3");
+ check_base_class_offset(lv, (C15*)(E15x0*), ABISELECT(16,8), "G15x0y3");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(32,16), "G15x0y3");
+ check_base_class_offset(lv, (E15x0*), ABISELECT(16,8), "G15x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x0y3.ff");
+ test_class_info(&lv, &cd_G15x0y3);
+ dp->~G15x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y3(Test_G15x0y3, "G15x0y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y3C1Ev();
+extern void _ZN7G15x0y3D1Ev();
+Name_Map name_map_G15x0y3[] = {
+ NSPAIR(_ZN7G15x0y3C1Ev),
+ NSPAIR(_ZN7G15x0y3D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x0y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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_B1, ABISELECT(64,36), //bcp->offset
+ 18, //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,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 11, //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_E15x0, 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 22, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x0y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x0y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ ABISELECT(16,8),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y3[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y3[] = {
+ {&(_ZTV7G15x0y3[6]), 6,26},
+ {&(_ZTV7G15x0y3[11]), 11,26},
+ {&(_ZTV7G15x0y3[17]), 17,26},
+ {&(_ZTV7G15x0y3[21]), 21,26},
+ {&(_ZTV7G15x0y3[13]), 13,26},
+ {&(_ZTV7G15x0y3[25]), 25,26},
+ {&(_tg__ZTV5E15x0__7G15x0y3[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x0y3[];
+extern VTBL_ENTRY _ZTV7G15x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y3[];
+Class_Descriptor cd_G15x0y3 = { "G15x0y3", // class name
+ bases_G15x0y3, 6,
+ &(vtc_G15x0y3[0]), // expected_vtbl_contents
+ &(vtt_G15x0y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y3),26, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y3),12, //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 G15x0y4 : E15x0 , F0 {
+ int ff;
+ ~G15x0y4(); // tgen
+ G15x0y4(); // tgen
+};
+//SIG(1 G15x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x0y4 ::~G15x0y4(){ note_dtor("G15x0y4", this);} // tgen
+G15x0y4 ::G15x0y4(){ note_ctor("G15x0y4", this);} // tgen
+
+static void Test_G15x0y4()
+{
+ extern Class_Descriptor cd_G15x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x0y4, buf);
+ G15x0y4 *dp, &lv = *(dp=new (buf) G15x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y4)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(40,28), "G15x0y4");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(56,36), "G15x0y4");
+ check_base_class_offset(lv, (C15*)(E15x0*), 0, "G15x0y4");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(16,8), "G15x0y4");
+ check_base_class_offset(lv, (E15x0*), 0, "G15x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G15x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G15x0y4.ff");
+ test_class_info(&lv, &cd_G15x0y4);
+ dp->~G15x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y4(Test_G15x0y4, "G15x0y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y4C1Ev();
+extern void _ZN7G15x0y4D1Ev();
+Name_Map name_map_G15x0y4[] = {
+ NSPAIR(_ZN7G15x0y4C1Ev),
+ NSPAIR(_ZN7G15x0y4D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x0y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 7, //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(56,36), //bcp->offset
+ 11, //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
+ 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_E15x0, 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_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 _ZTI7G15x0y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y4[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x0y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x0y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y4[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y4[] = {
+ {&(_ZTV7G15x0y4[4]), 4,15},
+ {&(_tg__ZTV5E15x0__7G15x0y4[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y4[3]), 3,4},
+ {&(_ZTV7G15x0y4[10]), 10,15},
+ {&(_ZTV7G15x0y4[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G15x0y4[];
+extern VTBL_ENTRY _ZTV7G15x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y4[];
+Class_Descriptor cd_G15x0y4 = { "G15x0y4", // class name
+ bases_G15x0y4, 6,
+ &(vtc_G15x0y4[0]), // expected_vtbl_contents
+ &(vtt_G15x0y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y4),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y4),9, //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 G15x0y5 : virtual E15x0 , F0 {
+ int ff;
+ ~G15x0y5(); // tgen
+ G15x0y5(); // tgen
+};
+//SIG(1 G15x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x0y5 ::~G15x0y5(){ note_dtor("G15x0y5", this);} // tgen
+G15x0y5 ::G15x0y5(){ note_ctor("G15x0y5", this);} // tgen
+
+static void Test_G15x0y5()
+{
+ extern Class_Descriptor cd_G15x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x0y5, buf);
+ G15x0y5 *dp, &lv = *(dp=new (buf) G15x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y5)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(48,32), "G15x0y5");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(64,40), "G15x0y5");
+ check_base_class_offset(lv, (C15*)(E15x0*), ABISELECT(16,12), "G15x0y5");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(32,20), "G15x0y5");
+ check_base_class_offset(lv, (E15x0*), ABISELECT(16,12), "G15x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x0y5.ff");
+ test_class_info(&lv, &cd_G15x0y5);
+ dp->~G15x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y5(Test_G15x0y5, "G15x0y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y5C1Ev();
+extern void _ZN7G15x0y5D1Ev();
+Name_Map name_map_G15x0y5[] = {
+ NSPAIR(_ZN7G15x0y5C1Ev),
+ NSPAIR(_ZN7G15x0y5D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x0y5[] = {
+ // 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(64,40), //bcp->offset
+ 17, //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
+ 10, //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_E15x0, 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
+ 6, //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 _ZTI7G15x0y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y5[0]),
+ ABISELECT(16,8),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x0y5[0]),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x0y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x0y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y5[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y5[] = {
+ {&(_ZTV7G15x0y5[5]), 5,21},
+ {&(_ZTV7G15x0y5[10]), 10,21},
+ {&(_ZTV7G15x0y5[16]), 16,21},
+ {&(_ZTV7G15x0y5[20]), 20,21},
+ {&(_ZTV7G15x0y5[12]), 12,21},
+ {&(_tg__ZTV5E15x0__7G15x0y5[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x0y5[];
+extern VTBL_ENTRY _ZTV7G15x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y5[];
+Class_Descriptor cd_G15x0y5 = { "G15x0y5", // class name
+ bases_G15x0y5, 6,
+ &(vtc_G15x0y5[0]), // expected_vtbl_contents
+ &(vtt_G15x0y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y5),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y5),11, //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 G15x0y6 : E15x0 , virtual F0 {
+ int ff;
+ ~G15x0y6(); // tgen
+ G15x0y6(); // tgen
+};
+//SIG(1 G15x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x0y6 ::~G15x0y6(){ note_dtor("G15x0y6", this);} // tgen
+G15x0y6 ::G15x0y6(){ note_ctor("G15x0y6", this);} // tgen
+
+static void Test_G15x0y6()
+{
+ extern Class_Descriptor cd_G15x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x0y6, buf);
+ G15x0y6 *dp, &lv = *(dp=new (buf) G15x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y6)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(40,24), "G15x0y6");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(56,32), "G15x0y6");
+ check_base_class_offset(lv, (C15*)(E15x0*), 0, "G15x0y6");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(16,8), "G15x0y6");
+ check_base_class_offset(lv, (E15x0*), 0, "G15x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G15x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G15x0y6.ff");
+ test_class_info(&lv, &cd_G15x0y6);
+ dp->~G15x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y6(Test_G15x0y6, "G15x0y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y6C1Ev();
+extern void _ZN7G15x0y6D1Ev();
+Name_Map name_map_G15x0y6[] = {
+ NSPAIR(_ZN7G15x0y6C1Ev),
+ NSPAIR(_ZN7G15x0y6D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x0y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 8, //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(56,32), //bcp->offset
+ 12, //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_E15x0, 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_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 _ZTI7G15x0y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y6[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x0y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x0y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y6[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y6[] = {
+ {&(_ZTV7G15x0y6[5]), 5,16},
+ {&(_tg__ZTV5E15x0__7G15x0y6[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y6[3]), 3,4},
+ {&(_ZTV7G15x0y6[11]), 11,16},
+ {&(_ZTV7G15x0y6[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G15x0y6[];
+extern VTBL_ENTRY _ZTV7G15x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y6[];
+Class_Descriptor cd_G15x0y6 = { "G15x0y6", // class name
+ bases_G15x0y6, 6,
+ &(vtc_G15x0y6[0]), // expected_vtbl_contents
+ &(vtt_G15x0y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y6),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y6),9, //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 G15x0y7 : virtual E15x0 , virtual F0 {
+ int ff;
+ ~G15x0y7(); // tgen
+ G15x0y7(); // tgen
+};
+//SIG(1 G15x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x0y7 ::~G15x0y7(){ note_dtor("G15x0y7", this);} // tgen
+G15x0y7 ::G15x0y7(){ note_ctor("G15x0y7", this);} // tgen
+
+static void Test_G15x0y7()
+{
+ extern Class_Descriptor cd_G15x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x0y7, buf);
+ G15x0y7 *dp, &lv = *(dp=new (buf) G15x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x0y7)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x0*), ABISELECT(48,28), "G15x0y7");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x0*), ABISELECT(64,36), "G15x0y7");
+ check_base_class_offset(lv, (C15*)(E15x0*), ABISELECT(16,8), "G15x0y7");
+ check_base_class_offset(lv, (D1*)(E15x0*), ABISELECT(32,16), "G15x0y7");
+ check_base_class_offset(lv, (E15x0*), ABISELECT(16,8), "G15x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G15x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x0y7.ff");
+ test_class_info(&lv, &cd_G15x0y7);
+ dp->~G15x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x0y7(Test_G15x0y7, "G15x0y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x0y7C1Ev();
+extern void _ZN7G15x0y7D1Ev();
+Name_Map name_map_G15x0y7[] = {
+ NSPAIR(_ZN7G15x0y7C1Ev),
+ NSPAIR(_ZN7G15x0y7D1Ev),
+ {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_E15x0;
+extern VTBL_ENTRY _ZTI5E15x0[];
+extern VTBL_ENTRY _ZTV5E15x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x0y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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_B1, ABISELECT(64,36), //bcp->offset
+ 18, //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,16), //bcp->offset
+ 11, //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_E15x0, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G15x0y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x0y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x0y7[0]),
+ ABISELECT(16,8),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x0y7[0]),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x0y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x0y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x0y7[];
+static VTBL_ENTRY _tg__ZTV5E15x0__7G15x0y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x0__7G15x0y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x0__7G15x0y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x0__7G15x0y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x0__7G15x0y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x0__7G15x0y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x0y7[] = {
+ {&(_ZTV7G15x0y7[6]), 6,22},
+ {&(_ZTV7G15x0y7[11]), 11,22},
+ {&(_ZTV7G15x0y7[17]), 17,22},
+ {&(_ZTV7G15x0y7[21]), 21,22},
+ {&(_ZTV7G15x0y7[13]), 13,22},
+ {&(_tg__ZTV5E15x0__7G15x0y7[4]), 4,4},
+ {&(_tg__ZTV3C155E15x0__7G15x0y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x0__7G15x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x0__7G15x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x0__7G15x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x0__7G15x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x0y7[];
+extern VTBL_ENTRY _ZTV7G15x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x0y7[];
+Class_Descriptor cd_G15x0y7 = { "G15x0y7", // class name
+ bases_G15x0y7, 6,
+ &(vtc_G15x0y7[0]), // expected_vtbl_contents
+ &(vtt_G15x0y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x0y7),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x0y7),11, //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 E16x0 : C16 , D1 {
+ int fd;
+ ~E16x0(); // tgen
+ E16x0(); // tgen
+};
+//SIG(-1 E16x0) C1{ BC2{ BC3{ Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E16x0 ::~E16x0(){ note_dtor("E16x0", this);} // tgen
+E16x0 ::E16x0(){ note_ctor("E16x0", this);} // tgen
+
+static void Test_E16x0()
+{
+ extern Class_Descriptor cd_E16x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E16x0, buf);
+ E16x0 *dp, &lv = *(dp=new (buf) E16x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E16x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x0)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(8,4), "E16x0");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(12,8), "E16x0");
+ check_base_class_offset(lv, (C16*), 0, "E16x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E16x0");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E16x0.fd");
+ test_class_info(&lv, &cd_E16x0);
+ dp->~E16x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x0(Test_E16x0, "E16x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E16x0C1Ev();
+extern void _ZN5E16x0D1Ev();
+Name_Map name_map_E16x0[] = {
+ NSPAIR(_ZN5E16x0C1Ev),
+ NSPAIR(_ZN5E16x0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E16x0[] = {
+ // 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(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_C16, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E16x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+Class_Descriptor cd_E16x0 = { "E16x0", // class name
+ bases_E16x0, 4,
+ &(vtc_E16x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E16x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x0),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 G16x0y0 : E16x0 , F1 {
+ int ff;
+ ~G16x0y0(); // tgen
+ G16x0y0(); // tgen
+};
+//SIG(1 G16x0y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x0y0 ::~G16x0y0(){ note_dtor("G16x0y0", this);} // tgen
+G16x0y0 ::G16x0y0(){ note_ctor("G16x0y0", this);} // tgen
+
+static void Test_G16x0y0()
+{
+ extern Class_Descriptor cd_G16x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x0y0, buf);
+ G16x0y0 *dp, &lv = *(dp=new (buf) G16x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y0)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(8,4), "G16x0y0");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(12,8), "G16x0y0");
+ check_base_class_offset(lv, (C16*)(E16x0*), 0, "G16x0y0");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(24,16), "G16x0y0");
+ check_base_class_offset(lv, (E16x0*), 0, "G16x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G16x0y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G16x0y0.ff");
+ test_class_info(&lv, &cd_G16x0y0);
+ dp->~G16x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y0(Test_G16x0y0, "G16x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y0C1Ev();
+extern void _ZN7G16x0y0D1Ev();
+Name_Map name_map_G16x0y0[] = {
+ NSPAIR(_ZN7G16x0y0C1Ev),
+ NSPAIR(_ZN7G16x0y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x0y0[] = {
+ // 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(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_C16, 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x0y0[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G16x0y0[];
+extern VTBL_ENTRY _ZTV7G16x0y0[];
+Class_Descriptor cd_G16x0y0 = { "G16x0y0", // class name
+ bases_G16x0y0, 6,
+ &(vtc_G16x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y0),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 G16x0y1 : virtual E16x0 , F1 {
+ int ff;
+ ~G16x0y1(); // tgen
+ G16x0y1(); // tgen
+};
+//SIG(1 G16x0y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x0y1 ::~G16x0y1(){ note_dtor("G16x0y1", this);} // tgen
+G16x0y1 ::G16x0y1(){ note_ctor("G16x0y1", this);} // tgen
+
+static void Test_G16x0y1()
+{
+ extern Class_Descriptor cd_G16x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x0y1, buf);
+ G16x0y1 *dp, &lv = *(dp=new (buf) G16x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y1)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(24,16), "G16x0y1");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(28,20), "G16x0y1");
+ check_base_class_offset(lv, (C16*)(E16x0*), ABISELECT(16,12), "G16x0y1");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(40,28), "G16x0y1");
+ check_base_class_offset(lv, (E16x0*), ABISELECT(16,12), "G16x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x0y1.ff");
+ test_class_info(&lv, &cd_G16x0y1);
+ dp->~G16x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y1(Test_G16x0y1, "G16x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y1C1Ev();
+extern void _ZN7G16x0y1D1Ev();
+Name_Map name_map_G16x0y1[] = {
+ NSPAIR(_ZN7G16x0y1C1Ev),
+ NSPAIR(_ZN7G16x0y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x0y1[] = {
+ // 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(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_C16, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, ABISELECT(16,12), //bcp->offset
+ -1, //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
+ 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 _ZTI7G16x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y1[];
+static VTT_ENTRY vtt_G16x0y1[] = {
+ {&(_ZTV7G16x0y1[3]), 3,11},
+ {&(_ZTV7G16x0y1[7]), 7,11},
+ {&(_ZTV7G16x0y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x0y1[];
+extern VTBL_ENTRY _ZTV7G16x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y1[];
+Class_Descriptor cd_G16x0y1 = { "G16x0y1", // class name
+ bases_G16x0y1, 6,
+ &(vtc_G16x0y1[0]), // expected_vtbl_contents
+ &(vtt_G16x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y1),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 G16x0y2 : E16x0 , virtual F1 {
+ int ff;
+ ~G16x0y2(); // tgen
+ G16x0y2(); // tgen
+};
+//SIG(1 G16x0y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x0y2 ::~G16x0y2(){ note_dtor("G16x0y2", this);} // tgen
+G16x0y2 ::G16x0y2(){ note_ctor("G16x0y2", this);} // tgen
+
+static void Test_G16x0y2()
+{
+ extern Class_Descriptor cd_G16x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x0y2, buf);
+ G16x0y2 *dp, &lv = *(dp=new (buf) G16x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y2)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(8,4), "G16x0y2");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(12,8), "G16x0y2");
+ check_base_class_offset(lv, (C16*)(E16x0*), 0, "G16x0y2");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(24,16), "G16x0y2");
+ check_base_class_offset(lv, (E16x0*), 0, "G16x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x0y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G16x0y2.ff");
+ test_class_info(&lv, &cd_G16x0y2);
+ dp->~G16x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y2(Test_G16x0y2, "G16x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y2C1Ev();
+extern void _ZN7G16x0y2D1Ev();
+Name_Map name_map_G16x0y2[] = {
+ NSPAIR(_ZN7G16x0y2C1Ev),
+ NSPAIR(_ZN7G16x0y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x0y2[] = {
+ // 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(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_C16, 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_E16x0, 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_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 _ZTI7G16x0y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x0y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y2[];
+static VTT_ENTRY vtt_G16x0y2[] = {
+ {&(_ZTV7G16x0y2[3]), 3,11},
+ {&(_ZTV7G16x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x0y2[];
+extern VTBL_ENTRY _ZTV7G16x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y2[];
+Class_Descriptor cd_G16x0y2 = { "G16x0y2", // class name
+ bases_G16x0y2, 6,
+ &(vtc_G16x0y2[0]), // expected_vtbl_contents
+ &(vtt_G16x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y2),2, //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 G16x0y3 : virtual E16x0 , virtual F1 {
+ int ff;
+ ~G16x0y3(); // tgen
+ G16x0y3(); // tgen
+};
+//SIG(1 G16x0y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x0y3 ::~G16x0y3(){ note_dtor("G16x0y3", this);} // tgen
+G16x0y3 ::G16x0y3(){ note_ctor("G16x0y3", this);} // tgen
+
+static void Test_G16x0y3()
+{
+ extern Class_Descriptor cd_G16x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x0y3, buf);
+ G16x0y3 *dp, &lv = *(dp=new (buf) G16x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y3)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(24,12), "G16x0y3");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(28,16), "G16x0y3");
+ check_base_class_offset(lv, (C16*)(E16x0*), ABISELECT(16,8), "G16x0y3");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(40,24), "G16x0y3");
+ check_base_class_offset(lv, (E16x0*), ABISELECT(16,8), "G16x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x0y3.ff");
+ test_class_info(&lv, &cd_G16x0y3);
+ dp->~G16x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y3(Test_G16x0y3, "G16x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y3C1Ev();
+extern void _ZN7G16x0y3D1Ev();
+Name_Map name_map_G16x0y3[] = {
+ NSPAIR(_ZN7G16x0y3C1Ev),
+ NSPAIR(_ZN7G16x0y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x0y3[] = {
+ // 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(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_C16, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, ABISELECT(16,8), //bcp->offset
+ -1, //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
+ 3, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x0y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y3[];
+static VTT_ENTRY vtt_G16x0y3[] = {
+ {&(_ZTV7G16x0y3[4]), 4,15},
+ {&(_ZTV7G16x0y3[7]), 7,15},
+ {&(_ZTV7G16x0y3[10]), 10,15},
+ {&(_ZTV7G16x0y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G16x0y3[];
+extern VTBL_ENTRY _ZTV7G16x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y3[];
+Class_Descriptor cd_G16x0y3 = { "G16x0y3", // class name
+ bases_G16x0y3, 6,
+ &(vtc_G16x0y3[0]), // expected_vtbl_contents
+ &(vtt_G16x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y3),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 G16x0y4 : E16x0 , F0 {
+ int ff;
+ ~G16x0y4(); // tgen
+ G16x0y4(); // tgen
+};
+//SIG(1 G16x0y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x0y4 ::~G16x0y4(){ note_dtor("G16x0y4", this);} // tgen
+G16x0y4 ::G16x0y4(){ note_ctor("G16x0y4", this);} // tgen
+
+static void Test_G16x0y4()
+{
+ extern Class_Descriptor cd_G16x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x0y4, buf);
+ G16x0y4 *dp, &lv = *(dp=new (buf) G16x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y4)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(8,4), "G16x0y4");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(12,8), "G16x0y4");
+ check_base_class_offset(lv, (C16*)(E16x0*), 0, "G16x0y4");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(24,16), "G16x0y4");
+ check_base_class_offset(lv, (E16x0*), 0, "G16x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G16x0y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G16x0y4.ff");
+ test_class_info(&lv, &cd_G16x0y4);
+ dp->~G16x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y4(Test_G16x0y4, "G16x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y4C1Ev();
+extern void _ZN7G16x0y4D1Ev();
+Name_Map name_map_G16x0y4[] = {
+ NSPAIR(_ZN7G16x0y4C1Ev),
+ NSPAIR(_ZN7G16x0y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x0y4[] = {
+ // 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(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_C16, 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, 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_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 _ZTI7G16x0y4[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G16x0y4[];
+extern VTBL_ENTRY _ZTV7G16x0y4[];
+Class_Descriptor cd_G16x0y4 = { "G16x0y4", // class name
+ bases_G16x0y4, 6,
+ &(vtc_G16x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y4),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 G16x0y5 : virtual E16x0 , F0 {
+ int ff;
+ ~G16x0y5(); // tgen
+ G16x0y5(); // tgen
+};
+//SIG(1 G16x0y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x0y5 ::~G16x0y5(){ note_dtor("G16x0y5", this);} // tgen
+G16x0y5 ::G16x0y5(){ note_ctor("G16x0y5", this);} // tgen
+
+static void Test_G16x0y5()
+{
+ extern Class_Descriptor cd_G16x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x0y5, buf);
+ G16x0y5 *dp, &lv = *(dp=new (buf) G16x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y5)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(24,16), "G16x0y5");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(28,20), "G16x0y5");
+ check_base_class_offset(lv, (C16*)(E16x0*), ABISELECT(16,12), "G16x0y5");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(40,28), "G16x0y5");
+ check_base_class_offset(lv, (E16x0*), ABISELECT(16,12), "G16x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x0y5.ff");
+ test_class_info(&lv, &cd_G16x0y5);
+ dp->~G16x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y5(Test_G16x0y5, "G16x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y5C1Ev();
+extern void _ZN7G16x0y5D1Ev();
+Name_Map name_map_G16x0y5[] = {
+ NSPAIR(_ZN7G16x0y5C1Ev),
+ NSPAIR(_ZN7G16x0y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x0y5[] = {
+ // 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(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_C16, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //num_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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, ABISELECT(16,12), //bcp->offset
+ -1, //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
+ 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 _ZTI7G16x0y5[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y5[];
+static VTT_ENTRY vtt_G16x0y5[] = {
+ {&(_ZTV7G16x0y5[3]), 3,10},
+ {&(_ZTV7G16x0y5[6]), 6,10},
+ {&(_ZTV7G16x0y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G16x0y5[];
+extern VTBL_ENTRY _ZTV7G16x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y5[];
+Class_Descriptor cd_G16x0y5 = { "G16x0y5", // class name
+ bases_G16x0y5, 6,
+ &(vtc_G16x0y5[0]), // expected_vtbl_contents
+ &(vtt_G16x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y5),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 G16x0y6 : E16x0 , virtual F0 {
+ int ff;
+ ~G16x0y6(); // tgen
+ G16x0y6(); // tgen
+};
+//SIG(1 G16x0y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x0y6 ::~G16x0y6(){ note_dtor("G16x0y6", this);} // tgen
+G16x0y6 ::G16x0y6(){ note_ctor("G16x0y6", this);} // tgen
+
+static void Test_G16x0y6()
+{
+ extern Class_Descriptor cd_G16x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x0y6, buf);
+ G16x0y6 *dp, &lv = *(dp=new (buf) G16x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y6)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(8,4), "G16x0y6");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(12,8), "G16x0y6");
+ check_base_class_offset(lv, (C16*)(E16x0*), 0, "G16x0y6");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(24,16), "G16x0y6");
+ check_base_class_offset(lv, (E16x0*), 0, "G16x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x0y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G16x0y6.ff");
+ test_class_info(&lv, &cd_G16x0y6);
+ dp->~G16x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y6(Test_G16x0y6, "G16x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y6C1Ev();
+extern void _ZN7G16x0y6D1Ev();
+Name_Map name_map_G16x0y6[] = {
+ NSPAIR(_ZN7G16x0y6C1Ev),
+ NSPAIR(_ZN7G16x0y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x0y6[] = {
+ // 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(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_C16, 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_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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, 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_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 _ZTI7G16x0y6[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x0y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y6[];
+static VTT_ENTRY vtt_G16x0y6[] = {
+ {&(_ZTV7G16x0y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI7G16x0y6[];
+extern VTBL_ENTRY _ZTV7G16x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y6[];
+Class_Descriptor cd_G16x0y6 = { "G16x0y6", // class name
+ bases_G16x0y6, 6,
+ &(vtc_G16x0y6[0]), // expected_vtbl_contents
+ &(vtt_G16x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y6),1, //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 G16x0y7 : virtual E16x0 , virtual F0 {
+ int ff;
+ ~G16x0y7(); // tgen
+ G16x0y7(); // tgen
+};
+//SIG(1 G16x0y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x0y7 ::~G16x0y7(){ note_dtor("G16x0y7", this);} // tgen
+G16x0y7 ::G16x0y7(){ note_ctor("G16x0y7", this);} // tgen
+
+static void Test_G16x0y7()
+{
+ extern Class_Descriptor cd_G16x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x0y7, buf);
+ G16x0y7 *dp, &lv = *(dp=new (buf) G16x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x0y7)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x0*), ABISELECT(24,12), "G16x0y7");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x0*), ABISELECT(28,16), "G16x0y7");
+ check_base_class_offset(lv, (C16*)(E16x0*), ABISELECT(16,8), "G16x0y7");
+ check_base_class_offset(lv, (D1*)(E16x0*), ABISELECT(40,24), "G16x0y7");
+ check_base_class_offset(lv, (E16x0*), ABISELECT(16,8), "G16x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G16x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x0y7.ff");
+ test_class_info(&lv, &cd_G16x0y7);
+ dp->~G16x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x0y7(Test_G16x0y7, "G16x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x0y7C1Ev();
+extern void _ZN7G16x0y7D1Ev();
+Name_Map name_map_G16x0y7[] = {
+ NSPAIR(_ZN7G16x0y7C1Ev),
+ NSPAIR(_ZN7G16x0y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x0;
+extern VTBL_ENTRY _ZTI5E16x0[];
+extern VTBL_ENTRY _ZTV5E16x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x0y7[] = {
+ // 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(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_C16, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x0, ABISELECT(16,8), //bcp->offset
+ -1, //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
+ 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 _ZTI7G16x0y7[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x0y7[];
+static VTT_ENTRY vtt_G16x0y7[] = {
+ {&(_ZTV7G16x0y7[4]), 4,11},
+ {&(_ZTV7G16x0y7[7]), 7,11},
+ {&(_ZTV7G16x0y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x0y7[];
+extern VTBL_ENTRY _ZTV7G16x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x0y7[];
+Class_Descriptor cd_G16x0y7 = { "G16x0y7", // class name
+ bases_G16x0y7, 6,
+ &(vtc_G16x0y7[0]), // expected_vtbl_contents
+ &(vtt_G16x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x0y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x0y7),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 E17x0 : C17 , D1 {
+ int fd;
+ ~E17x0(); // tgen
+ E17x0(); // tgen
+};
+//SIG(-1 E17x0) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E17x0 ::~E17x0(){ note_dtor("E17x0", this);} // tgen
+E17x0 ::E17x0(){ note_ctor("E17x0", this);} // tgen
+
+static void Test_E17x0()
+{
+ extern Class_Descriptor cd_E17x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E17x0, buf);
+ E17x0 *dp, &lv = *(dp=new (buf) E17x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E17x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x0)");
+ check_base_class_offset(lv, (A1*)(C17*), 0, "E17x0");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(12,8), "E17x0");
+ check_base_class_offset(lv, (C17*), 0, "E17x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E17x0");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E17x0.fd");
+ test_class_info(&lv, &cd_E17x0);
+ dp->~E17x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x0(Test_E17x0, "E17x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E17x0C1Ev();
+extern void _ZN5E17x0D1Ev();
+Name_Map name_map_E17x0[] = {
+ NSPAIR(_ZN5E17x0C1Ev),
+ NSPAIR(_ZN5E17x0D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E17x0[] = {
+ // 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_C17, 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_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 _ZTI5E17x0[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E17x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+Class_Descriptor cd_E17x0 = { "E17x0", // class name
+ bases_E17x0, 4,
+ &(vtc_E17x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E17x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x0),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 G17x0y0 : E17x0 , F1 {
+ int ff;
+ ~G17x0y0(); // tgen
+ G17x0y0(); // tgen
+};
+//SIG(1 G17x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x0y0 ::~G17x0y0(){ note_dtor("G17x0y0", this);} // tgen
+G17x0y0 ::G17x0y0(){ note_ctor("G17x0y0", this);} // tgen
+
+static void Test_G17x0y0()
+{
+ extern Class_Descriptor cd_G17x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x0y0, buf);
+ G17x0y0 *dp, &lv = *(dp=new (buf) G17x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y0)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), 0, "G17x0y0");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(12,8), "G17x0y0");
+ check_base_class_offset(lv, (C17*)(E17x0*), 0, "G17x0y0");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(24,16), "G17x0y0");
+ check_base_class_offset(lv, (E17x0*), 0, "G17x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G17x0y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G17x0y0.ff");
+ test_class_info(&lv, &cd_G17x0y0);
+ dp->~G17x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y0(Test_G17x0y0, "G17x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y0C1Ev();
+extern void _ZN7G17x0y0D1Ev();
+Name_Map name_map_G17x0y0[] = {
+ NSPAIR(_ZN7G17x0y0C1Ev),
+ NSPAIR(_ZN7G17x0y0D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x0y0[] = {
+ // 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_C17, 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
+ 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_E17x0, 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_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 _ZTI7G17x0y0[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G17x0y0[];
+extern VTBL_ENTRY _ZTV7G17x0y0[];
+Class_Descriptor cd_G17x0y0 = { "G17x0y0", // class name
+ bases_G17x0y0, 6,
+ &(vtc_G17x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y0),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 G17x0y1 : virtual E17x0 , F1 {
+ int ff;
+ ~G17x0y1(); // tgen
+ G17x0y1(); // tgen
+};
+//SIG(1 G17x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x0y1 ::~G17x0y1(){ note_dtor("G17x0y1", this);} // tgen
+G17x0y1 ::G17x0y1(){ note_ctor("G17x0y1", this);} // tgen
+
+static void Test_G17x0y1()
+{
+ extern Class_Descriptor cd_G17x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x0y1, buf);
+ G17x0y1 *dp, &lv = *(dp=new (buf) G17x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y1)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), ABISELECT(16,12), "G17x0y1");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(28,20), "G17x0y1");
+ check_base_class_offset(lv, (C17*)(E17x0*), ABISELECT(16,12), "G17x0y1");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(40,28), "G17x0y1");
+ check_base_class_offset(lv, (E17x0*), ABISELECT(16,12), "G17x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x0y1.ff");
+ test_class_info(&lv, &cd_G17x0y1);
+ dp->~G17x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y1(Test_G17x0y1, "G17x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y1C1Ev();
+extern void _ZN7G17x0y1D1Ev();
+Name_Map name_map_G17x0y1[] = {
+ NSPAIR(_ZN7G17x0y1C1Ev),
+ NSPAIR(_ZN7G17x0y1D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x0y1[] = {
+ // 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_C17, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E17x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G17x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y1[];
+static VTT_ENTRY vtt_G17x0y1[] = {
+ {&(_ZTV7G17x0y1[3]), 3,11},
+ {&(_ZTV7G17x0y1[7]), 7,11},
+ {&(_ZTV7G17x0y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x0y1[];
+extern VTBL_ENTRY _ZTV7G17x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y1[];
+Class_Descriptor cd_G17x0y1 = { "G17x0y1", // class name
+ bases_G17x0y1, 6,
+ &(vtc_G17x0y1[0]), // expected_vtbl_contents
+ &(vtt_G17x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y1),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 G17x0y2 : E17x0 , virtual F1 {
+ int ff;
+ ~G17x0y2(); // tgen
+ G17x0y2(); // tgen
+};
+//SIG(1 G17x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x0y2 ::~G17x0y2(){ note_dtor("G17x0y2", this);} // tgen
+G17x0y2 ::G17x0y2(){ note_ctor("G17x0y2", this);} // tgen
+
+static void Test_G17x0y2()
+{
+ extern Class_Descriptor cd_G17x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x0y2, buf);
+ G17x0y2 *dp, &lv = *(dp=new (buf) G17x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y2)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), 0, "G17x0y2");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(12,8), "G17x0y2");
+ check_base_class_offset(lv, (C17*)(E17x0*), 0, "G17x0y2");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(24,16), "G17x0y2");
+ check_base_class_offset(lv, (E17x0*), 0, "G17x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x0y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G17x0y2.ff");
+ test_class_info(&lv, &cd_G17x0y2);
+ dp->~G17x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y2(Test_G17x0y2, "G17x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y2C1Ev();
+extern void _ZN7G17x0y2D1Ev();
+Name_Map name_map_G17x0y2[] = {
+ NSPAIR(_ZN7G17x0y2C1Ev),
+ NSPAIR(_ZN7G17x0y2D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x0y2[] = {
+ // 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_C17, 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_E17x0, 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 _ZTI7G17x0y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x0y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y2[];
+static VTT_ENTRY vtt_G17x0y2[] = {
+ {&(_ZTV7G17x0y2[3]), 3,11},
+ {&(_ZTV7G17x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x0y2[];
+extern VTBL_ENTRY _ZTV7G17x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y2[];
+Class_Descriptor cd_G17x0y2 = { "G17x0y2", // class name
+ bases_G17x0y2, 6,
+ &(vtc_G17x0y2[0]), // expected_vtbl_contents
+ &(vtt_G17x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y2),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 G17x0y3 : virtual E17x0 , virtual F1 {
+ int ff;
+ ~G17x0y3(); // tgen
+ G17x0y3(); // tgen
+};
+//SIG(1 G17x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x0y3 ::~G17x0y3(){ note_dtor("G17x0y3", this);} // tgen
+G17x0y3 ::G17x0y3(){ note_ctor("G17x0y3", this);} // tgen
+
+static void Test_G17x0y3()
+{
+ extern Class_Descriptor cd_G17x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x0y3, buf);
+ G17x0y3 *dp, &lv = *(dp=new (buf) G17x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y3)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), ABISELECT(16,8), "G17x0y3");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(28,16), "G17x0y3");
+ check_base_class_offset(lv, (C17*)(E17x0*), ABISELECT(16,8), "G17x0y3");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(40,24), "G17x0y3");
+ check_base_class_offset(lv, (E17x0*), ABISELECT(16,8), "G17x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x0y3.ff");
+ test_class_info(&lv, &cd_G17x0y3);
+ dp->~G17x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y3(Test_G17x0y3, "G17x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y3C1Ev();
+extern void _ZN7G17x0y3D1Ev();
+Name_Map name_map_G17x0y3[] = {
+ NSPAIR(_ZN7G17x0y3C1Ev),
+ NSPAIR(_ZN7G17x0y3D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x0y3[] = {
+ // 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_C17, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E17x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G17x0y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y3[];
+static VTT_ENTRY vtt_G17x0y3[] = {
+ {&(_ZTV7G17x0y3[4]), 4,15},
+ {&(_ZTV7G17x0y3[7]), 7,15},
+ {&(_ZTV7G17x0y3[10]), 10,15},
+ {&(_ZTV7G17x0y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G17x0y3[];
+extern VTBL_ENTRY _ZTV7G17x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y3[];
+Class_Descriptor cd_G17x0y3 = { "G17x0y3", // class name
+ bases_G17x0y3, 6,
+ &(vtc_G17x0y3[0]), // expected_vtbl_contents
+ &(vtt_G17x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y3),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 G17x0y4 : E17x0 , F0 {
+ int ff;
+ ~G17x0y4(); // tgen
+ G17x0y4(); // tgen
+};
+//SIG(1 G17x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x0y4 ::~G17x0y4(){ note_dtor("G17x0y4", this);} // tgen
+G17x0y4 ::G17x0y4(){ note_ctor("G17x0y4", this);} // tgen
+
+static void Test_G17x0y4()
+{
+ extern Class_Descriptor cd_G17x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x0y4, buf);
+ G17x0y4 *dp, &lv = *(dp=new (buf) G17x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y4)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), 0, "G17x0y4");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(12,8), "G17x0y4");
+ check_base_class_offset(lv, (C17*)(E17x0*), 0, "G17x0y4");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(24,16), "G17x0y4");
+ check_base_class_offset(lv, (E17x0*), 0, "G17x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G17x0y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G17x0y4.ff");
+ test_class_info(&lv, &cd_G17x0y4);
+ dp->~G17x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y4(Test_G17x0y4, "G17x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y4C1Ev();
+extern void _ZN7G17x0y4D1Ev();
+Name_Map name_map_G17x0y4[] = {
+ NSPAIR(_ZN7G17x0y4C1Ev),
+ NSPAIR(_ZN7G17x0y4D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x0y4[] = {
+ // 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_C17, 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
+ 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_E17x0, 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(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 _ZTI7G17x0y4[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G17x0y4[];
+extern VTBL_ENTRY _ZTV7G17x0y4[];
+Class_Descriptor cd_G17x0y4 = { "G17x0y4", // class name
+ bases_G17x0y4, 6,
+ &(vtc_G17x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y4),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 G17x0y5 : virtual E17x0 , F0 {
+ int ff;
+ ~G17x0y5(); // tgen
+ G17x0y5(); // tgen
+};
+//SIG(1 G17x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x0y5 ::~G17x0y5(){ note_dtor("G17x0y5", this);} // tgen
+G17x0y5 ::G17x0y5(){ note_ctor("G17x0y5", this);} // tgen
+
+static void Test_G17x0y5()
+{
+ extern Class_Descriptor cd_G17x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x0y5, buf);
+ G17x0y5 *dp, &lv = *(dp=new (buf) G17x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y5)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), ABISELECT(16,12), "G17x0y5");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(28,20), "G17x0y5");
+ check_base_class_offset(lv, (C17*)(E17x0*), ABISELECT(16,12), "G17x0y5");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(40,28), "G17x0y5");
+ check_base_class_offset(lv, (E17x0*), ABISELECT(16,12), "G17x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x0y5.ff");
+ test_class_info(&lv, &cd_G17x0y5);
+ dp->~G17x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y5(Test_G17x0y5, "G17x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y5C1Ev();
+extern void _ZN7G17x0y5D1Ev();
+Name_Map name_map_G17x0y5[] = {
+ NSPAIR(_ZN7G17x0y5C1Ev),
+ NSPAIR(_ZN7G17x0y5D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x0y5[] = {
+ // 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_C17, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //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_E17x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G17x0y5[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y5[];
+static VTT_ENTRY vtt_G17x0y5[] = {
+ {&(_ZTV7G17x0y5[3]), 3,10},
+ {&(_ZTV7G17x0y5[6]), 6,10},
+ {&(_ZTV7G17x0y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G17x0y5[];
+extern VTBL_ENTRY _ZTV7G17x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y5[];
+Class_Descriptor cd_G17x0y5 = { "G17x0y5", // class name
+ bases_G17x0y5, 6,
+ &(vtc_G17x0y5[0]), // expected_vtbl_contents
+ &(vtt_G17x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y5),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 G17x0y6 : E17x0 , virtual F0 {
+ int ff;
+ ~G17x0y6(); // tgen
+ G17x0y6(); // tgen
+};
+//SIG(1 G17x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x0y6 ::~G17x0y6(){ note_dtor("G17x0y6", this);} // tgen
+G17x0y6 ::G17x0y6(){ note_ctor("G17x0y6", this);} // tgen
+
+static void Test_G17x0y6()
+{
+ extern Class_Descriptor cd_G17x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x0y6, buf);
+ G17x0y6 *dp, &lv = *(dp=new (buf) G17x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y6)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), 0, "G17x0y6");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(12,8), "G17x0y6");
+ check_base_class_offset(lv, (C17*)(E17x0*), 0, "G17x0y6");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(24,16), "G17x0y6");
+ check_base_class_offset(lv, (E17x0*), 0, "G17x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x0y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G17x0y6.ff");
+ test_class_info(&lv, &cd_G17x0y6);
+ dp->~G17x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y6(Test_G17x0y6, "G17x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y6C1Ev();
+extern void _ZN7G17x0y6D1Ev();
+Name_Map name_map_G17x0y6[] = {
+ NSPAIR(_ZN7G17x0y6C1Ev),
+ NSPAIR(_ZN7G17x0y6D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x0y6[] = {
+ // 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_C17, 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_E17x0, 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 _ZTI7G17x0y6[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x0y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y6[];
+static VTT_ENTRY vtt_G17x0y6[] = {
+ {&(_ZTV7G17x0y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI7G17x0y6[];
+extern VTBL_ENTRY _ZTV7G17x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y6[];
+Class_Descriptor cd_G17x0y6 = { "G17x0y6", // class name
+ bases_G17x0y6, 6,
+ &(vtc_G17x0y6[0]), // expected_vtbl_contents
+ &(vtt_G17x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y6),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 G17x0y7 : virtual E17x0 , virtual F0 {
+ int ff;
+ ~G17x0y7(); // tgen
+ G17x0y7(); // tgen
+};
+//SIG(1 G17x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x0y7 ::~G17x0y7(){ note_dtor("G17x0y7", this);} // tgen
+G17x0y7 ::G17x0y7(){ note_ctor("G17x0y7", this);} // tgen
+
+static void Test_G17x0y7()
+{
+ extern Class_Descriptor cd_G17x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x0y7, buf);
+ G17x0y7 *dp, &lv = *(dp=new (buf) G17x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x0y7)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x0*), ABISELECT(16,8), "G17x0y7");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x0*), ABISELECT(28,16), "G17x0y7");
+ check_base_class_offset(lv, (C17*)(E17x0*), ABISELECT(16,8), "G17x0y7");
+ check_base_class_offset(lv, (D1*)(E17x0*), ABISELECT(40,24), "G17x0y7");
+ check_base_class_offset(lv, (E17x0*), ABISELECT(16,8), "G17x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G17x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x0y7.ff");
+ test_class_info(&lv, &cd_G17x0y7);
+ dp->~G17x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x0y7(Test_G17x0y7, "G17x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x0y7C1Ev();
+extern void _ZN7G17x0y7D1Ev();
+Name_Map name_map_G17x0y7[] = {
+ NSPAIR(_ZN7G17x0y7C1Ev),
+ NSPAIR(_ZN7G17x0y7D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x0;
+extern VTBL_ENTRY _ZTI5E17x0[];
+extern VTBL_ENTRY _ZTV5E17x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x0y7[] = {
+ // 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_C17, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E17x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G17x0y7[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x0y7[];
+static VTT_ENTRY vtt_G17x0y7[] = {
+ {&(_ZTV7G17x0y7[4]), 4,11},
+ {&(_ZTV7G17x0y7[7]), 7,11},
+ {&(_ZTV7G17x0y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x0y7[];
+extern VTBL_ENTRY _ZTV7G17x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x0y7[];
+Class_Descriptor cd_G17x0y7 = { "G17x0y7", // class name
+ bases_G17x0y7, 6,
+ &(vtc_G17x0y7[0]), // expected_vtbl_contents
+ &(vtt_G17x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x0y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x0y7),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 E18x0 : C18 , D1 {
+ int fd;
+ ~E18x0(); // tgen
+ E18x0(); // tgen
+};
+//SIG(-1 E18x0) C1{ BC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E18x0 ::~E18x0(){ note_dtor("E18x0", this);} // tgen
+E18x0 ::E18x0(){ note_ctor("E18x0", this);} // tgen
+
+static void Test_E18x0()
+{
+ extern Class_Descriptor cd_E18x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E18x0, buf);
+ E18x0 *dp, &lv = *(dp=new (buf) E18x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E18x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x0)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "E18x0");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(8,4), "E18x0");
+ check_base_class_offset(lv, (C18*), 0, "E18x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E18x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E18x0.fd");
+ test_class_info(&lv, &cd_E18x0);
+ dp->~E18x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x0(Test_E18x0, "E18x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E18x0C1Ev();
+extern void _ZN5E18x0D1Ev();
+Name_Map name_map_E18x0[] = {
+ NSPAIR(_ZN5E18x0C1Ev),
+ NSPAIR(_ZN5E18x0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E18x0[] = {
+ // 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_C18, 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 _ZTI5E18x0[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E18x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x0[] = {
+ {&(_ZTV5E18x0[3]), 3,7},
+ {&(_tg__ZTV3C18__5E18x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+Class_Descriptor cd_E18x0 = { "E18x0", // class name
+ bases_E18x0, 4,
+ &(vtc_E18x0[0]), // expected_vtbl_contents
+ &(vtt_E18x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E18x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x0),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 G18x0y0 : E18x0 , F1 {
+ int ff;
+ ~G18x0y0(); // tgen
+ G18x0y0(); // tgen
+};
+//SIG(1 G18x0y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x0y0 ::~G18x0y0(){ note_dtor("G18x0y0", this);} // tgen
+G18x0y0 ::G18x0y0(){ note_ctor("G18x0y0", this);} // tgen
+
+static void Test_G18x0y0()
+{
+ extern Class_Descriptor cd_G18x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x0y0, buf);
+ G18x0y0 *dp, &lv = *(dp=new (buf) G18x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y0)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(48,36), "G18x0y0");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(8,4), "G18x0y0");
+ check_base_class_offset(lv, (C18*)(E18x0*), 0, "G18x0y0");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(16,12), "G18x0y0");
+ check_base_class_offset(lv, (E18x0*), 0, "G18x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G18x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G18x0y0.ff");
+ test_class_info(&lv, &cd_G18x0y0);
+ dp->~G18x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y0(Test_G18x0y0, "G18x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y0C1Ev();
+extern void _ZN7G18x0y0D1Ev();
+Name_Map name_map_G18x0y0[] = {
+ NSPAIR(_ZN7G18x0y0C1Ev),
+ NSPAIR(_ZN7G18x0y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x0y0[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y0[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y0[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y0[] = {
+ {&(_ZTV7G18x0y0[3]), 3,10},
+ {&(_tg__ZTV5E18x0__7G18x0y0[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y0[];
+extern VTBL_ENTRY _ZTV7G18x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y0[];
+Class_Descriptor cd_G18x0y0 = { "G18x0y0", // class name
+ bases_G18x0y0, 6,
+ &(vtc_G18x0y0[0]), // expected_vtbl_contents
+ &(vtt_G18x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y0),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 G18x0y1 : virtual E18x0 , F1 {
+ int ff;
+ ~G18x0y1(); // tgen
+ G18x0y1(); // tgen
+};
+//SIG(1 G18x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x0y1 ::~G18x0y1(){ note_dtor("G18x0y1", this);} // tgen
+G18x0y1 ::G18x0y1(){ note_ctor("G18x0y1", this);} // tgen
+
+static void Test_G18x0y1()
+{
+ extern Class_Descriptor cd_G18x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x0y1, buf);
+ G18x0y1 *dp, &lv = *(dp=new (buf) G18x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y1)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(48,36), "G18x0y1");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(24,16), "G18x0y1");
+ check_base_class_offset(lv, (C18*)(E18x0*), ABISELECT(16,12), "G18x0y1");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(32,24), "G18x0y1");
+ check_base_class_offset(lv, (E18x0*), ABISELECT(16,12), "G18x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x0y1.ff");
+ test_class_info(&lv, &cd_G18x0y1);
+ dp->~G18x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y1(Test_G18x0y1, "G18x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y1C1Ev();
+extern void _ZN7G18x0y1D1Ev();
+Name_Map name_map_G18x0y1[] = {
+ NSPAIR(_ZN7G18x0y1C1Ev),
+ NSPAIR(_ZN7G18x0y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x0y1[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y1[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y1[] = {
+ {&(_ZTV7G18x0y1[4]), 4,13},
+ {&(_ZTV7G18x0y1[9]), 9,13},
+ {&(_ZTV7G18x0y1[12]), 12,13},
+ {&(_tg__ZTV5E18x0__7G18x0y1[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y1[];
+extern VTBL_ENTRY _ZTV7G18x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y1[];
+Class_Descriptor cd_G18x0y1 = { "G18x0y1", // class name
+ bases_G18x0y1, 6,
+ &(vtc_G18x0y1[0]), // expected_vtbl_contents
+ &(vtt_G18x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y1),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 G18x0y2 : E18x0 , virtual F1 {
+ int ff;
+ ~G18x0y2(); // tgen
+ G18x0y2(); // tgen
+};
+//SIG(1 G18x0y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x0y2 ::~G18x0y2(){ note_dtor("G18x0y2", this);} // tgen
+G18x0y2 ::G18x0y2(){ note_ctor("G18x0y2", this);} // tgen
+
+static void Test_G18x0y2()
+{
+ extern Class_Descriptor cd_G18x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x0y2, buf);
+ G18x0y2 *dp, &lv = *(dp=new (buf) G18x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y2)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(36,28), "G18x0y2");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(8,4), "G18x0y2");
+ check_base_class_offset(lv, (C18*)(E18x0*), 0, "G18x0y2");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(16,12), "G18x0y2");
+ check_base_class_offset(lv, (E18x0*), 0, "G18x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G18x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G18x0y2.ff");
+ test_class_info(&lv, &cd_G18x0y2);
+ dp->~G18x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y2(Test_G18x0y2, "G18x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y2C1Ev();
+extern void _ZN7G18x0y2D1Ev();
+Name_Map name_map_G18x0y2[] = {
+ NSPAIR(_ZN7G18x0y2C1Ev),
+ NSPAIR(_ZN7G18x0y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x0y2[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y2[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y2[] = {
+ {&(_ZTV7G18x0y2[4]), 4,12},
+ {&(_tg__ZTV5E18x0__7G18x0y2[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y2[3]), 3,4},
+ {&(_ZTV7G18x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G18x0y2[];
+extern VTBL_ENTRY _ZTV7G18x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y2[];
+Class_Descriptor cd_G18x0y2 = { "G18x0y2", // class name
+ bases_G18x0y2, 6,
+ &(vtc_G18x0y2[0]), // expected_vtbl_contents
+ &(vtt_G18x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y2),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 G18x0y3 : virtual E18x0 , virtual F1 {
+ int ff;
+ ~G18x0y3(); // tgen
+ G18x0y3(); // tgen
+};
+//SIG(1 G18x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x0y3 ::~G18x0y3(){ note_dtor("G18x0y3", this);} // tgen
+G18x0y3 ::G18x0y3(){ note_ctor("G18x0y3", this);} // tgen
+
+static void Test_G18x0y3()
+{
+ extern Class_Descriptor cd_G18x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x0y3, buf);
+ G18x0y3 *dp, &lv = *(dp=new (buf) G18x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y3)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(48,32), "G18x0y3");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(24,12), "G18x0y3");
+ check_base_class_offset(lv, (C18*)(E18x0*), ABISELECT(16,8), "G18x0y3");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(32,20), "G18x0y3");
+ check_base_class_offset(lv, (E18x0*), ABISELECT(16,8), "G18x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x0y3.ff");
+ test_class_info(&lv, &cd_G18x0y3);
+ dp->~G18x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y3(Test_G18x0y3, "G18x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y3C1Ev();
+extern void _ZN7G18x0y3D1Ev();
+Name_Map name_map_G18x0y3[] = {
+ NSPAIR(_ZN7G18x0y3C1Ev),
+ NSPAIR(_ZN7G18x0y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x0y3[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y3[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y3[] = {
+ {&(_ZTV7G18x0y3[5]), 5,17},
+ {&(_ZTV7G18x0y3[9]), 9,17},
+ {&(_ZTV7G18x0y3[12]), 12,17},
+ {&(_ZTV7G18x0y3[16]), 16,17},
+ {&(_tg__ZTV5E18x0__7G18x0y3[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y3[];
+extern VTBL_ENTRY _ZTV7G18x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y3[];
+Class_Descriptor cd_G18x0y3 = { "G18x0y3", // class name
+ bases_G18x0y3, 6,
+ &(vtc_G18x0y3[0]), // expected_vtbl_contents
+ &(vtt_G18x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y3),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 G18x0y4 : E18x0 , F0 {
+ int ff;
+ ~G18x0y4(); // tgen
+ G18x0y4(); // tgen
+};
+//SIG(1 G18x0y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x0y4 ::~G18x0y4(){ note_dtor("G18x0y4", this);} // tgen
+G18x0y4 ::G18x0y4(){ note_ctor("G18x0y4", this);} // tgen
+
+static void Test_G18x0y4()
+{
+ extern Class_Descriptor cd_G18x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x0y4, buf);
+ G18x0y4 *dp, &lv = *(dp=new (buf) G18x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y4)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(40,32), "G18x0y4");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(8,4), "G18x0y4");
+ check_base_class_offset(lv, (C18*)(E18x0*), 0, "G18x0y4");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(16,12), "G18x0y4");
+ check_base_class_offset(lv, (E18x0*), 0, "G18x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G18x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G18x0y4.ff");
+ test_class_info(&lv, &cd_G18x0y4);
+ dp->~G18x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y4(Test_G18x0y4, "G18x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y4C1Ev();
+extern void _ZN7G18x0y4D1Ev();
+Name_Map name_map_G18x0y4[] = {
+ NSPAIR(_ZN7G18x0y4C1Ev),
+ NSPAIR(_ZN7G18x0y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x0y4[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y4[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y4[] = {
+ {&(_ZTV7G18x0y4[3]), 3,7},
+ {&(_tg__ZTV5E18x0__7G18x0y4[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y4[];
+extern VTBL_ENTRY _ZTV7G18x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y4[];
+Class_Descriptor cd_G18x0y4 = { "G18x0y4", // class name
+ bases_G18x0y4, 6,
+ &(vtc_G18x0y4[0]), // expected_vtbl_contents
+ &(vtt_G18x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y4),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 G18x0y5 : virtual E18x0 , F0 {
+ int ff;
+ ~G18x0y5(); // tgen
+ G18x0y5(); // tgen
+};
+//SIG(1 G18x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x0y5 ::~G18x0y5(){ note_dtor("G18x0y5", this);} // tgen
+G18x0y5 ::G18x0y5(){ note_ctor("G18x0y5", this);} // tgen
+
+static void Test_G18x0y5()
+{
+ extern Class_Descriptor cd_G18x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x0y5, buf);
+ G18x0y5 *dp, &lv = *(dp=new (buf) G18x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y5)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(48,36), "G18x0y5");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(24,16), "G18x0y5");
+ check_base_class_offset(lv, (C18*)(E18x0*), ABISELECT(16,12), "G18x0y5");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(32,24), "G18x0y5");
+ check_base_class_offset(lv, (E18x0*), ABISELECT(16,12), "G18x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x0y5.ff");
+ test_class_info(&lv, &cd_G18x0y5);
+ dp->~G18x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y5(Test_G18x0y5, "G18x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y5C1Ev();
+extern void _ZN7G18x0y5D1Ev();
+Name_Map name_map_G18x0y5[] = {
+ NSPAIR(_ZN7G18x0y5C1Ev),
+ NSPAIR(_ZN7G18x0y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x0y5[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y5[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y5[] = {
+ {&(_ZTV7G18x0y5[4]), 4,12},
+ {&(_ZTV7G18x0y5[8]), 8,12},
+ {&(_ZTV7G18x0y5[11]), 11,12},
+ {&(_tg__ZTV5E18x0__7G18x0y5[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y5[];
+extern VTBL_ENTRY _ZTV7G18x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y5[];
+Class_Descriptor cd_G18x0y5 = { "G18x0y5", // class name
+ bases_G18x0y5, 6,
+ &(vtc_G18x0y5[0]), // expected_vtbl_contents
+ &(vtt_G18x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y5),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 G18x0y6 : E18x0 , virtual F0 {
+ int ff;
+ ~G18x0y6(); // tgen
+ G18x0y6(); // tgen
+};
+//SIG(1 G18x0y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x0y6 ::~G18x0y6(){ note_dtor("G18x0y6", this);} // tgen
+G18x0y6 ::G18x0y6(){ note_ctor("G18x0y6", this);} // tgen
+
+static void Test_G18x0y6()
+{
+ extern Class_Descriptor cd_G18x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x0y6, buf);
+ G18x0y6 *dp, &lv = *(dp=new (buf) G18x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y6)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(36,28), "G18x0y6");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(8,4), "G18x0y6");
+ check_base_class_offset(lv, (C18*)(E18x0*), 0, "G18x0y6");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(16,12), "G18x0y6");
+ check_base_class_offset(lv, (E18x0*), 0, "G18x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G18x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G18x0y6.ff");
+ test_class_info(&lv, &cd_G18x0y6);
+ dp->~G18x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y6(Test_G18x0y6, "G18x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y6C1Ev();
+extern void _ZN7G18x0y6D1Ev();
+Name_Map name_map_G18x0y6[] = {
+ NSPAIR(_ZN7G18x0y6C1Ev),
+ NSPAIR(_ZN7G18x0y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x0y6[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y6[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y6[] = {
+ {&(_ZTV7G18x0y6[4]), 4,8},
+ {&(_tg__ZTV5E18x0__7G18x0y6[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y6[];
+extern VTBL_ENTRY _ZTV7G18x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y6[];
+Class_Descriptor cd_G18x0y6 = { "G18x0y6", // class name
+ bases_G18x0y6, 6,
+ &(vtc_G18x0y6[0]), // expected_vtbl_contents
+ &(vtt_G18x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y6),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 G18x0y7 : virtual E18x0 , virtual F0 {
+ int ff;
+ ~G18x0y7(); // tgen
+ G18x0y7(); // tgen
+};
+//SIG(1 G18x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x0y7 ::~G18x0y7(){ note_dtor("G18x0y7", this);} // tgen
+G18x0y7 ::G18x0y7(){ note_ctor("G18x0y7", this);} // tgen
+
+static void Test_G18x0y7()
+{
+ extern Class_Descriptor cd_G18x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x0y7, buf);
+ G18x0y7 *dp, &lv = *(dp=new (buf) G18x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x0y7)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x0*), ABISELECT(48,32), "G18x0y7");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x0*), ABISELECT(24,12), "G18x0y7");
+ check_base_class_offset(lv, (C18*)(E18x0*), ABISELECT(16,8), "G18x0y7");
+ check_base_class_offset(lv, (D1*)(E18x0*), ABISELECT(32,20), "G18x0y7");
+ check_base_class_offset(lv, (E18x0*), ABISELECT(16,8), "G18x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G18x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x0y7.ff");
+ test_class_info(&lv, &cd_G18x0y7);
+ dp->~G18x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x0y7(Test_G18x0y7, "G18x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x0y7C1Ev();
+extern void _ZN7G18x0y7D1Ev();
+Name_Map name_map_G18x0y7[] = {
+ NSPAIR(_ZN7G18x0y7C1Ev),
+ NSPAIR(_ZN7G18x0y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x0;
+extern VTBL_ENTRY _ZTI5E18x0[];
+extern VTBL_ENTRY _ZTV5E18x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x0y7[] = {
+ // 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_C18, 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_E18x0, 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 _ZTI7G18x0y7[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x0y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x0__7G18x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x0__7G18x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x0y7[] = {
+ {&(_ZTV7G18x0y7[5]), 5,13},
+ {&(_ZTV7G18x0y7[9]), 9,13},
+ {&(_ZTV7G18x0y7[12]), 12,13},
+ {&(_tg__ZTV5E18x0__7G18x0y7[3]), 3,4},
+ {&(_tg__ZTV3C185E18x0__7G18x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x0y7[];
+extern VTBL_ENTRY _ZTV7G18x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x0y7[];
+Class_Descriptor cd_G18x0y7 = { "G18x0y7", // class name
+ bases_G18x0y7, 6,
+ &(vtc_G18x0y7[0]), // expected_vtbl_contents
+ &(vtt_G18x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x0y7),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 E19x0 : C19 , D1 {
+ int fd;
+ ~E19x0(); // tgen
+ E19x0(); // tgen
+};
+//SIG(-1 E19x0) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E19x0 ::~E19x0(){ note_dtor("E19x0", this);} // tgen
+E19x0 ::E19x0(){ note_ctor("E19x0", this);} // tgen
+
+static void Test_E19x0()
+{
+ extern Class_Descriptor cd_E19x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E19x0, buf);
+ E19x0 *dp, &lv = *(dp=new (buf) E19x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E19x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x0)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "E19x0");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(8,4), "E19x0");
+ check_base_class_offset(lv, (C19*), 0, "E19x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E19x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E19x0.fd");
+ test_class_info(&lv, &cd_E19x0);
+ dp->~E19x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x0(Test_E19x0, "E19x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E19x0C1Ev();
+extern void _ZN5E19x0D1Ev();
+Name_Map name_map_E19x0[] = {
+ NSPAIR(_ZN5E19x0C1Ev),
+ NSPAIR(_ZN5E19x0D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E19x0[] = {
+ // 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_C19, 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 _ZTI5E19x0[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E19x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__5E19x0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x0[] = {
+ {&(_ZTV5E19x0[3]), 3,11},
+ {&(_tg__ZTV3C19__5E19x0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x0[3]), 3,4},
+ {&(_ZTV5E19x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+static VTBL_ENTRY alt_thunk_names8[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E19x0 = { "E19x0", // class name
+ bases_E19x0, 4,
+ &(vtc_E19x0[0]), // expected_vtbl_contents
+ &(vtt_E19x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E19x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x0),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 G19x0y0 : E19x0 , F1 {
+ int ff;
+ ~G19x0y0(); // tgen
+ G19x0y0(); // tgen
+};
+//SIG(1 G19x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x0y0 ::~G19x0y0(){ note_dtor("G19x0y0", this);} // tgen
+G19x0y0 ::G19x0y0(){ note_ctor("G19x0y0", this);} // tgen
+
+static void Test_G19x0y0()
+{
+ extern Class_Descriptor cd_G19x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x0y0, buf);
+ G19x0y0 *dp, &lv = *(dp=new (buf) G19x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y0)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(48,36), "G19x0y0");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(8,4), "G19x0y0");
+ check_base_class_offset(lv, (C19*)(E19x0*), 0, "G19x0y0");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(16,12), "G19x0y0");
+ check_base_class_offset(lv, (E19x0*), 0, "G19x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G19x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G19x0y0.ff");
+ test_class_info(&lv, &cd_G19x0y0);
+ dp->~G19x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y0(Test_G19x0y0, "G19x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y0C1Ev();
+extern void _ZN7G19x0y0D1Ev();
+Name_Map name_map_G19x0y0[] = {
+ NSPAIR(_ZN7G19x0y0C1Ev),
+ NSPAIR(_ZN7G19x0y0D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x0y0[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y0[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y0[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y0[] = {
+ {&(_ZTV7G19x0y0[3]), 3,14},
+ {&(_tg__ZTV5E19x0__7G19x0y0[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y0[3]), 3,4},
+ {&(_ZTV7G19x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G19x0y0[];
+extern VTBL_ENTRY _ZTV7G19x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y0[];
+static VTBL_ENTRY alt_thunk_names9[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C193fooEv,_ZThn36_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y0 = { "G19x0y0", // class name
+ bases_G19x0y0, 6,
+ &(vtc_G19x0y0[0]), // expected_vtbl_contents
+ &(vtt_G19x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y0),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 G19x0y1 : virtual E19x0 , F1 {
+ int ff;
+ ~G19x0y1(); // tgen
+ G19x0y1(); // tgen
+};
+//SIG(1 G19x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x0y1 ::~G19x0y1(){ note_dtor("G19x0y1", this);} // tgen
+G19x0y1 ::G19x0y1(){ note_ctor("G19x0y1", this);} // tgen
+
+static void Test_G19x0y1()
+{
+ extern Class_Descriptor cd_G19x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x0y1, buf);
+ G19x0y1 *dp, &lv = *(dp=new (buf) G19x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y1)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(48,36), "G19x0y1");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(24,16), "G19x0y1");
+ check_base_class_offset(lv, (C19*)(E19x0*), ABISELECT(16,12), "G19x0y1");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(32,24), "G19x0y1");
+ check_base_class_offset(lv, (E19x0*), ABISELECT(16,12), "G19x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x0y1.ff");
+ test_class_info(&lv, &cd_G19x0y1);
+ dp->~G19x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y1(Test_G19x0y1, "G19x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y1C1Ev();
+extern void _ZN7G19x0y1D1Ev();
+Name_Map name_map_G19x0y1[] = {
+ NSPAIR(_ZN7G19x0y1C1Ev),
+ NSPAIR(_ZN7G19x0y1D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x0y1[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y1[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y1[] = {
+ {&(_ZTV7G19x0y1[4]), 4,17},
+ {&(_ZTV7G19x0y1[9]), 9,17},
+ {&(_ZTV7G19x0y1[16]), 16,17},
+ {&(_ZTV7G19x0y1[12]), 12,17},
+ {&(_tg__ZTV5E19x0__7G19x0y1[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x0y1[];
+extern VTBL_ENTRY _ZTV7G19x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y1[];
+static VTBL_ENTRY alt_thunk_names10[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y1 = { "G19x0y1", // class name
+ bases_G19x0y1, 6,
+ &(vtc_G19x0y1[0]), // expected_vtbl_contents
+ &(vtt_G19x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y1),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 G19x0y2 : E19x0 , virtual F1 {
+ int ff;
+ ~G19x0y2(); // tgen
+ G19x0y2(); // tgen
+};
+//SIG(1 G19x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x0y2 ::~G19x0y2(){ note_dtor("G19x0y2", this);} // tgen
+G19x0y2 ::G19x0y2(){ note_ctor("G19x0y2", this);} // tgen
+
+static void Test_G19x0y2()
+{
+ extern Class_Descriptor cd_G19x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x0y2, buf);
+ G19x0y2 *dp, &lv = *(dp=new (buf) G19x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y2)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(40,28), "G19x0y2");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(8,4), "G19x0y2");
+ check_base_class_offset(lv, (C19*)(E19x0*), 0, "G19x0y2");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(16,12), "G19x0y2");
+ check_base_class_offset(lv, (E19x0*), 0, "G19x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G19x0y2.ff");
+ test_class_info(&lv, &cd_G19x0y2);
+ dp->~G19x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y2(Test_G19x0y2, "G19x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y2C1Ev();
+extern void _ZN7G19x0y2D1Ev();
+Name_Map name_map_G19x0y2[] = {
+ NSPAIR(_ZN7G19x0y2C1Ev),
+ NSPAIR(_ZN7G19x0y2D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x0y2[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y2[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x0y2[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y2[] = {
+ {&(_ZTV7G19x0y2[4]), 4,16},
+ {&(_tg__ZTV5E19x0__7G19x0y2[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y2[3]), 3,4},
+ {&(_ZTV7G19x0y2[11]), 11,16},
+ {&(_ZTV7G19x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G19x0y2[];
+extern VTBL_ENTRY _ZTV7G19x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y2[];
+static VTBL_ENTRY alt_thunk_names11[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y2 = { "G19x0y2", // class name
+ bases_G19x0y2, 6,
+ &(vtc_G19x0y2[0]), // expected_vtbl_contents
+ &(vtt_G19x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y2),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 G19x0y3 : virtual E19x0 , virtual F1 {
+ int ff;
+ ~G19x0y3(); // tgen
+ G19x0y3(); // tgen
+};
+//SIG(1 G19x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x0y3 ::~G19x0y3(){ note_dtor("G19x0y3", this);} // tgen
+G19x0y3 ::G19x0y3(){ note_ctor("G19x0y3", this);} // tgen
+
+static void Test_G19x0y3()
+{
+ extern Class_Descriptor cd_G19x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x0y3, buf);
+ G19x0y3 *dp, &lv = *(dp=new (buf) G19x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y3)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(48,32), "G19x0y3");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(24,12), "G19x0y3");
+ check_base_class_offset(lv, (C19*)(E19x0*), ABISELECT(16,8), "G19x0y3");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(32,20), "G19x0y3");
+ check_base_class_offset(lv, (E19x0*), ABISELECT(16,8), "G19x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G19x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x0y3.ff");
+ test_class_info(&lv, &cd_G19x0y3);
+ dp->~G19x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y3(Test_G19x0y3, "G19x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y3C1Ev();
+extern void _ZN7G19x0y3D1Ev();
+Name_Map name_map_G19x0y3[] = {
+ NSPAIR(_ZN7G19x0y3C1Ev),
+ NSPAIR(_ZN7G19x0y3D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x0y3[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y3[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x0y3[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y3[] = {
+ {&(_ZTV7G19x0y3[5]), 5,21},
+ {&(_ZTV7G19x0y3[9]), 9,21},
+ {&(_ZTV7G19x0y3[16]), 16,21},
+ {&(_ZTV7G19x0y3[12]), 12,21},
+ {&(_ZTV7G19x0y3[20]), 20,21},
+ {&(_tg__ZTV5E19x0__7G19x0y3[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x0y3[];
+extern VTBL_ENTRY _ZTV7G19x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y3[];
+static VTBL_ENTRY alt_thunk_names12[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y3 = { "G19x0y3", // class name
+ bases_G19x0y3, 6,
+ &(vtc_G19x0y3[0]), // expected_vtbl_contents
+ &(vtt_G19x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y3),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 G19x0y4 : E19x0 , F0 {
+ int ff;
+ ~G19x0y4(); // tgen
+ G19x0y4(); // tgen
+};
+//SIG(1 G19x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x0y4 ::~G19x0y4(){ note_dtor("G19x0y4", this);} // tgen
+G19x0y4 ::G19x0y4(){ note_ctor("G19x0y4", this);} // tgen
+
+static void Test_G19x0y4()
+{
+ extern Class_Descriptor cd_G19x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x0y4, buf);
+ G19x0y4 *dp, &lv = *(dp=new (buf) G19x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y4)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(40,32), "G19x0y4");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(8,4), "G19x0y4");
+ check_base_class_offset(lv, (C19*)(E19x0*), 0, "G19x0y4");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(16,12), "G19x0y4");
+ check_base_class_offset(lv, (E19x0*), 0, "G19x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G19x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G19x0y4.ff");
+ test_class_info(&lv, &cd_G19x0y4);
+ dp->~G19x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y4(Test_G19x0y4, "G19x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y4C1Ev();
+extern void _ZN7G19x0y4D1Ev();
+Name_Map name_map_G19x0y4[] = {
+ NSPAIR(_ZN7G19x0y4C1Ev),
+ NSPAIR(_ZN7G19x0y4D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x0y4[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y4[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y4[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y4[] = {
+ {&(_ZTV7G19x0y4[3]), 3,11},
+ {&(_tg__ZTV5E19x0__7G19x0y4[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y4[3]), 3,4},
+ {&(_ZTV7G19x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G19x0y4[];
+extern VTBL_ENTRY _ZTV7G19x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y4[];
+static VTBL_ENTRY alt_thunk_names13[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y4 = { "G19x0y4", // class name
+ bases_G19x0y4, 6,
+ &(vtc_G19x0y4[0]), // expected_vtbl_contents
+ &(vtt_G19x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y4),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 G19x0y5 : virtual E19x0 , F0 {
+ int ff;
+ ~G19x0y5(); // tgen
+ G19x0y5(); // tgen
+};
+//SIG(1 G19x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x0y5 ::~G19x0y5(){ note_dtor("G19x0y5", this);} // tgen
+G19x0y5 ::G19x0y5(){ note_ctor("G19x0y5", this);} // tgen
+
+static void Test_G19x0y5()
+{
+ extern Class_Descriptor cd_G19x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x0y5, buf);
+ G19x0y5 *dp, &lv = *(dp=new (buf) G19x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y5)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(48,36), "G19x0y5");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(24,16), "G19x0y5");
+ check_base_class_offset(lv, (C19*)(E19x0*), ABISELECT(16,12), "G19x0y5");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(32,24), "G19x0y5");
+ check_base_class_offset(lv, (E19x0*), ABISELECT(16,12), "G19x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x0y5.ff");
+ test_class_info(&lv, &cd_G19x0y5);
+ dp->~G19x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y5(Test_G19x0y5, "G19x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y5C1Ev();
+extern void _ZN7G19x0y5D1Ev();
+Name_Map name_map_G19x0y5[] = {
+ NSPAIR(_ZN7G19x0y5C1Ev),
+ NSPAIR(_ZN7G19x0y5D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x0y5[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y5[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y5[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y5[] = {
+ {&(_ZTV7G19x0y5[4]), 4,16},
+ {&(_ZTV7G19x0y5[8]), 8,16},
+ {&(_ZTV7G19x0y5[15]), 15,16},
+ {&(_ZTV7G19x0y5[11]), 11,16},
+ {&(_tg__ZTV5E19x0__7G19x0y5[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x0y5[];
+extern VTBL_ENTRY _ZTV7G19x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y5[];
+static VTBL_ENTRY alt_thunk_names14[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y5 = { "G19x0y5", // class name
+ bases_G19x0y5, 6,
+ &(vtc_G19x0y5[0]), // expected_vtbl_contents
+ &(vtt_G19x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y5),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 G19x0y6 : E19x0 , virtual F0 {
+ int ff;
+ ~G19x0y6(); // tgen
+ G19x0y6(); // tgen
+};
+//SIG(1 G19x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x0y6 ::~G19x0y6(){ note_dtor("G19x0y6", this);} // tgen
+G19x0y6 ::G19x0y6(){ note_ctor("G19x0y6", this);} // tgen
+
+static void Test_G19x0y6()
+{
+ extern Class_Descriptor cd_G19x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x0y6, buf);
+ G19x0y6 *dp, &lv = *(dp=new (buf) G19x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y6)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(40,28), "G19x0y6");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(8,4), "G19x0y6");
+ check_base_class_offset(lv, (C19*)(E19x0*), 0, "G19x0y6");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(16,12), "G19x0y6");
+ check_base_class_offset(lv, (E19x0*), 0, "G19x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G19x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G19x0y6.ff");
+ test_class_info(&lv, &cd_G19x0y6);
+ dp->~G19x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y6(Test_G19x0y6, "G19x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y6C1Ev();
+extern void _ZN7G19x0y6D1Ev();
+Name_Map name_map_G19x0y6[] = {
+ NSPAIR(_ZN7G19x0y6C1Ev),
+ NSPAIR(_ZN7G19x0y6D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x0y6[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y6[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y6[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y6[] = {
+ {&(_ZTV7G19x0y6[4]), 4,12},
+ {&(_tg__ZTV5E19x0__7G19x0y6[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y6[3]), 3,4},
+ {&(_ZTV7G19x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G19x0y6[];
+extern VTBL_ENTRY _ZTV7G19x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y6[];
+static VTBL_ENTRY alt_thunk_names15[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y6 = { "G19x0y6", // class name
+ bases_G19x0y6, 6,
+ &(vtc_G19x0y6[0]), // expected_vtbl_contents
+ &(vtt_G19x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y6),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 G19x0y7 : virtual E19x0 , virtual F0 {
+ int ff;
+ ~G19x0y7(); // tgen
+ G19x0y7(); // tgen
+};
+//SIG(1 G19x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x0y7 ::~G19x0y7(){ note_dtor("G19x0y7", this);} // tgen
+G19x0y7 ::G19x0y7(){ note_ctor("G19x0y7", this);} // tgen
+
+static void Test_G19x0y7()
+{
+ extern Class_Descriptor cd_G19x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x0y7, buf);
+ G19x0y7 *dp, &lv = *(dp=new (buf) G19x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x0y7)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x0*), ABISELECT(48,32), "G19x0y7");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x0*), ABISELECT(24,12), "G19x0y7");
+ check_base_class_offset(lv, (C19*)(E19x0*), ABISELECT(16,8), "G19x0y7");
+ check_base_class_offset(lv, (D1*)(E19x0*), ABISELECT(32,20), "G19x0y7");
+ check_base_class_offset(lv, (E19x0*), ABISELECT(16,8), "G19x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G19x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x0y7.ff");
+ test_class_info(&lv, &cd_G19x0y7);
+ dp->~G19x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x0y7(Test_G19x0y7, "G19x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x0y7C1Ev();
+extern void _ZN7G19x0y7D1Ev();
+Name_Map name_map_G19x0y7[] = {
+ NSPAIR(_ZN7G19x0y7C1Ev),
+ NSPAIR(_ZN7G19x0y7D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x0;
+extern VTBL_ENTRY _ZTI5E19x0[];
+extern VTBL_ENTRY _ZTV5E19x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x0y7[] = {
+ // 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_C19, 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_E19x0, 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 _ZTI7G19x0y7[];
+extern void _ZN3C193fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x0y7[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x0__7G19x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x0__7G19x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x0__7G19x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x0__7G19x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x0y7[] = {
+ {&(_ZTV7G19x0y7[5]), 5,17},
+ {&(_ZTV7G19x0y7[9]), 9,17},
+ {&(_ZTV7G19x0y7[16]), 16,17},
+ {&(_ZTV7G19x0y7[12]), 12,17},
+ {&(_tg__ZTV5E19x0__7G19x0y7[3]), 3,4},
+ {&(_tg__ZTV3C195E19x0__7G19x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x0__7G19x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x0__7G19x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x0y7[];
+extern VTBL_ENTRY _ZTV7G19x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x0y7[];
+static VTBL_ENTRY alt_thunk_names16[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x0y7 = { "G19x0y7", // class name
+ bases_G19x0y7, 6,
+ &(vtc_G19x0y7[0]), // expected_vtbl_contents
+ &(vtt_G19x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x0y7),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 E20x0 : C20 , D1 {
+ int fd;
+ ~E20x0(); // tgen
+ E20x0(); // tgen
+};
+//SIG(-1 E20x0) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E20x0 ::~E20x0(){ note_dtor("E20x0", this);} // tgen
+E20x0 ::E20x0(){ note_ctor("E20x0", this);} // tgen
+
+static void Test_E20x0()
+{
+ extern Class_Descriptor cd_E20x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E20x0, buf);
+ E20x0 *dp, &lv = *(dp=new (buf) E20x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E20x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x0)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(12,8), "E20x0");
+ check_base_class_offset(lv, (B1*)(C20*), 0, "E20x0");
+ check_base_class_offset(lv, (C20*), 0, "E20x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,16), "E20x0");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E20x0.fd");
+ test_class_info(&lv, &cd_E20x0);
+ dp->~E20x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x0(Test_E20x0, "E20x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E20x0C1Ev();
+extern void _ZN5E20x0D1Ev();
+Name_Map name_map_E20x0[] = {
+ NSPAIR(_ZN5E20x0C1Ev),
+ NSPAIR(_ZN5E20x0D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E20x0[] = {
+ // 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_C20, 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_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 _ZTI5E20x0[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E20x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+Class_Descriptor cd_E20x0 = { "E20x0", // class name
+ bases_E20x0, 4,
+ &(vtc_E20x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E20x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x0),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 G20x0y0 : E20x0 , F1 {
+ int ff;
+ ~G20x0y0(); // tgen
+ G20x0y0(); // tgen
+};
+//SIG(1 G20x0y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x0y0 ::~G20x0y0(){ note_dtor("G20x0y0", this);} // tgen
+G20x0y0 ::G20x0y0(){ note_ctor("G20x0y0", this);} // tgen
+
+static void Test_G20x0y0()
+{
+ extern Class_Descriptor cd_G20x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x0y0, buf);
+ G20x0y0 *dp, &lv = *(dp=new (buf) G20x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y0)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(12,8), "G20x0y0");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), 0, "G20x0y0");
+ check_base_class_offset(lv, (C20*)(E20x0*), 0, "G20x0y0");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(24,16), "G20x0y0");
+ check_base_class_offset(lv, (E20x0*), 0, "G20x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G20x0y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G20x0y0.ff");
+ test_class_info(&lv, &cd_G20x0y0);
+ dp->~G20x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y0(Test_G20x0y0, "G20x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y0C1Ev();
+extern void _ZN7G20x0y0D1Ev();
+Name_Map name_map_G20x0y0[] = {
+ NSPAIR(_ZN7G20x0y0C1Ev),
+ NSPAIR(_ZN7G20x0y0D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x0y0[] = {
+ // 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_C20, 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
+ 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_E20x0, 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_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 _ZTI7G20x0y0[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G20x0y0[];
+extern VTBL_ENTRY _ZTV7G20x0y0[];
+Class_Descriptor cd_G20x0y0 = { "G20x0y0", // class name
+ bases_G20x0y0, 6,
+ &(vtc_G20x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y0),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 G20x0y1 : virtual E20x0 , F1 {
+ int ff;
+ ~G20x0y1(); // tgen
+ G20x0y1(); // tgen
+};
+//SIG(1 G20x0y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x0y1 ::~G20x0y1(){ note_dtor("G20x0y1", this);} // tgen
+G20x0y1 ::G20x0y1(){ note_ctor("G20x0y1", this);} // tgen
+
+static void Test_G20x0y1()
+{
+ extern Class_Descriptor cd_G20x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x0y1, buf);
+ G20x0y1 *dp, &lv = *(dp=new (buf) G20x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y1)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(28,20), "G20x0y1");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), ABISELECT(16,12), "G20x0y1");
+ check_base_class_offset(lv, (C20*)(E20x0*), ABISELECT(16,12), "G20x0y1");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(40,28), "G20x0y1");
+ check_base_class_offset(lv, (E20x0*), ABISELECT(16,12), "G20x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x0y1.ff");
+ test_class_info(&lv, &cd_G20x0y1);
+ dp->~G20x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y1(Test_G20x0y1, "G20x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y1C1Ev();
+extern void _ZN7G20x0y1D1Ev();
+Name_Map name_map_G20x0y1[] = {
+ NSPAIR(_ZN7G20x0y1C1Ev),
+ NSPAIR(_ZN7G20x0y1D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x0y1[] = {
+ // 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_C20, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E20x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G20x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y1[];
+static VTT_ENTRY vtt_G20x0y1[] = {
+ {&(_ZTV7G20x0y1[3]), 3,11},
+ {&(_ZTV7G20x0y1[7]), 7,11},
+ {&(_ZTV7G20x0y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x0y1[];
+extern VTBL_ENTRY _ZTV7G20x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y1[];
+Class_Descriptor cd_G20x0y1 = { "G20x0y1", // class name
+ bases_G20x0y1, 6,
+ &(vtc_G20x0y1[0]), // expected_vtbl_contents
+ &(vtt_G20x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y1),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 G20x0y2 : E20x0 , virtual F1 {
+ int ff;
+ ~G20x0y2(); // tgen
+ G20x0y2(); // tgen
+};
+//SIG(1 G20x0y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x0y2 ::~G20x0y2(){ note_dtor("G20x0y2", this);} // tgen
+G20x0y2 ::G20x0y2(){ note_ctor("G20x0y2", this);} // tgen
+
+static void Test_G20x0y2()
+{
+ extern Class_Descriptor cd_G20x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x0y2, buf);
+ G20x0y2 *dp, &lv = *(dp=new (buf) G20x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y2)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(12,8), "G20x0y2");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), 0, "G20x0y2");
+ check_base_class_offset(lv, (C20*)(E20x0*), 0, "G20x0y2");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(24,16), "G20x0y2");
+ check_base_class_offset(lv, (E20x0*), 0, "G20x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x0y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G20x0y2.ff");
+ test_class_info(&lv, &cd_G20x0y2);
+ dp->~G20x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y2(Test_G20x0y2, "G20x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y2C1Ev();
+extern void _ZN7G20x0y2D1Ev();
+Name_Map name_map_G20x0y2[] = {
+ NSPAIR(_ZN7G20x0y2C1Ev),
+ NSPAIR(_ZN7G20x0y2D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x0y2[] = {
+ // 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_C20, 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_E20x0, 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 _ZTI7G20x0y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x0y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y2[];
+static VTT_ENTRY vtt_G20x0y2[] = {
+ {&(_ZTV7G20x0y2[3]), 3,11},
+ {&(_ZTV7G20x0y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x0y2[];
+extern VTBL_ENTRY _ZTV7G20x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y2[];
+Class_Descriptor cd_G20x0y2 = { "G20x0y2", // class name
+ bases_G20x0y2, 6,
+ &(vtc_G20x0y2[0]), // expected_vtbl_contents
+ &(vtt_G20x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y2),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 G20x0y3 : virtual E20x0 , virtual F1 {
+ int ff;
+ ~G20x0y3(); // tgen
+ G20x0y3(); // tgen
+};
+//SIG(1 G20x0y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x0y3 ::~G20x0y3(){ note_dtor("G20x0y3", this);} // tgen
+G20x0y3 ::G20x0y3(){ note_ctor("G20x0y3", this);} // tgen
+
+static void Test_G20x0y3()
+{
+ extern Class_Descriptor cd_G20x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x0y3, buf);
+ G20x0y3 *dp, &lv = *(dp=new (buf) G20x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y3)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(28,16), "G20x0y3");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), ABISELECT(16,8), "G20x0y3");
+ check_base_class_offset(lv, (C20*)(E20x0*), ABISELECT(16,8), "G20x0y3");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(40,24), "G20x0y3");
+ check_base_class_offset(lv, (E20x0*), ABISELECT(16,8), "G20x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x0y3.ff");
+ test_class_info(&lv, &cd_G20x0y3);
+ dp->~G20x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y3(Test_G20x0y3, "G20x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y3C1Ev();
+extern void _ZN7G20x0y3D1Ev();
+Name_Map name_map_G20x0y3[] = {
+ NSPAIR(_ZN7G20x0y3C1Ev),
+ NSPAIR(_ZN7G20x0y3D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x0y3[] = {
+ // 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_C20, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E20x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G20x0y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y3[];
+static VTT_ENTRY vtt_G20x0y3[] = {
+ {&(_ZTV7G20x0y3[4]), 4,15},
+ {&(_ZTV7G20x0y3[7]), 7,15},
+ {&(_ZTV7G20x0y3[10]), 10,15},
+ {&(_ZTV7G20x0y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G20x0y3[];
+extern VTBL_ENTRY _ZTV7G20x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y3[];
+Class_Descriptor cd_G20x0y3 = { "G20x0y3", // class name
+ bases_G20x0y3, 6,
+ &(vtc_G20x0y3[0]), // expected_vtbl_contents
+ &(vtt_G20x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y3),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 G20x0y4 : E20x0 , F0 {
+ int ff;
+ ~G20x0y4(); // tgen
+ G20x0y4(); // tgen
+};
+//SIG(1 G20x0y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x0y4 ::~G20x0y4(){ note_dtor("G20x0y4", this);} // tgen
+G20x0y4 ::G20x0y4(){ note_ctor("G20x0y4", this);} // tgen
+
+static void Test_G20x0y4()
+{
+ extern Class_Descriptor cd_G20x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x0y4, buf);
+ G20x0y4 *dp, &lv = *(dp=new (buf) G20x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y4)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(12,8), "G20x0y4");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), 0, "G20x0y4");
+ check_base_class_offset(lv, (C20*)(E20x0*), 0, "G20x0y4");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(24,16), "G20x0y4");
+ check_base_class_offset(lv, (E20x0*), 0, "G20x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G20x0y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G20x0y4.ff");
+ test_class_info(&lv, &cd_G20x0y4);
+ dp->~G20x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y4(Test_G20x0y4, "G20x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y4C1Ev();
+extern void _ZN7G20x0y4D1Ev();
+Name_Map name_map_G20x0y4[] = {
+ NSPAIR(_ZN7G20x0y4C1Ev),
+ NSPAIR(_ZN7G20x0y4D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x0y4[] = {
+ // 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_C20, 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
+ 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_E20x0, 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(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 _ZTI7G20x0y4[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G20x0y4[];
+extern VTBL_ENTRY _ZTV7G20x0y4[];
+Class_Descriptor cd_G20x0y4 = { "G20x0y4", // class name
+ bases_G20x0y4, 6,
+ &(vtc_G20x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y4),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 G20x0y5 : virtual E20x0 , F0 {
+ int ff;
+ ~G20x0y5(); // tgen
+ G20x0y5(); // tgen
+};
+//SIG(1 G20x0y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x0y5 ::~G20x0y5(){ note_dtor("G20x0y5", this);} // tgen
+G20x0y5 ::G20x0y5(){ note_ctor("G20x0y5", this);} // tgen
+
+static void Test_G20x0y5()
+{
+ extern Class_Descriptor cd_G20x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x0y5, buf);
+ G20x0y5 *dp, &lv = *(dp=new (buf) G20x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y5)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(28,20), "G20x0y5");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), ABISELECT(16,12), "G20x0y5");
+ check_base_class_offset(lv, (C20*)(E20x0*), ABISELECT(16,12), "G20x0y5");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(40,28), "G20x0y5");
+ check_base_class_offset(lv, (E20x0*), ABISELECT(16,12), "G20x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x0y5.ff");
+ test_class_info(&lv, &cd_G20x0y5);
+ dp->~G20x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y5(Test_G20x0y5, "G20x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y5C1Ev();
+extern void _ZN7G20x0y5D1Ev();
+Name_Map name_map_G20x0y5[] = {
+ NSPAIR(_ZN7G20x0y5C1Ev),
+ NSPAIR(_ZN7G20x0y5D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x0y5[] = {
+ // 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_C20, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //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_E20x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G20x0y5[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y5[];
+static VTT_ENTRY vtt_G20x0y5[] = {
+ {&(_ZTV7G20x0y5[3]), 3,10},
+ {&(_ZTV7G20x0y5[6]), 6,10},
+ {&(_ZTV7G20x0y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G20x0y5[];
+extern VTBL_ENTRY _ZTV7G20x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y5[];
+Class_Descriptor cd_G20x0y5 = { "G20x0y5", // class name
+ bases_G20x0y5, 6,
+ &(vtc_G20x0y5[0]), // expected_vtbl_contents
+ &(vtt_G20x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y5),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 G20x0y6 : E20x0 , virtual F0 {
+ int ff;
+ ~G20x0y6(); // tgen
+ G20x0y6(); // tgen
+};
+//SIG(1 G20x0y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x0y6 ::~G20x0y6(){ note_dtor("G20x0y6", this);} // tgen
+G20x0y6 ::G20x0y6(){ note_ctor("G20x0y6", this);} // tgen
+
+static void Test_G20x0y6()
+{
+ extern Class_Descriptor cd_G20x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x0y6, buf);
+ G20x0y6 *dp, &lv = *(dp=new (buf) G20x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y6)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(12,8), "G20x0y6");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), 0, "G20x0y6");
+ check_base_class_offset(lv, (C20*)(E20x0*), 0, "G20x0y6");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(24,16), "G20x0y6");
+ check_base_class_offset(lv, (E20x0*), 0, "G20x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x0y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G20x0y6.ff");
+ test_class_info(&lv, &cd_G20x0y6);
+ dp->~G20x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y6(Test_G20x0y6, "G20x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y6C1Ev();
+extern void _ZN7G20x0y6D1Ev();
+Name_Map name_map_G20x0y6[] = {
+ NSPAIR(_ZN7G20x0y6C1Ev),
+ NSPAIR(_ZN7G20x0y6D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x0y6[] = {
+ // 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_C20, 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_E20x0, 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 _ZTI7G20x0y6[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x0y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y6[];
+static VTT_ENTRY vtt_G20x0y6[] = {
+ {&(_ZTV7G20x0y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI7G20x0y6[];
+extern VTBL_ENTRY _ZTV7G20x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y6[];
+Class_Descriptor cd_G20x0y6 = { "G20x0y6", // class name
+ bases_G20x0y6, 6,
+ &(vtc_G20x0y6[0]), // expected_vtbl_contents
+ &(vtt_G20x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y6),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 G20x0y7 : virtual E20x0 , virtual F0 {
+ int ff;
+ ~G20x0y7(); // tgen
+ G20x0y7(); // tgen
+};
+//SIG(1 G20x0y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x0y7 ::~G20x0y7(){ note_dtor("G20x0y7", this);} // tgen
+G20x0y7 ::G20x0y7(){ note_ctor("G20x0y7", this);} // tgen
+
+static void Test_G20x0y7()
+{
+ extern Class_Descriptor cd_G20x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x0y7, buf);
+ G20x0y7 *dp, &lv = *(dp=new (buf) G20x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x0y7)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x0*), ABISELECT(28,16), "G20x0y7");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x0*), ABISELECT(16,8), "G20x0y7");
+ check_base_class_offset(lv, (C20*)(E20x0*), ABISELECT(16,8), "G20x0y7");
+ check_base_class_offset(lv, (D1*)(E20x0*), ABISELECT(40,24), "G20x0y7");
+ check_base_class_offset(lv, (E20x0*), ABISELECT(16,8), "G20x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G20x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x0y7.ff");
+ test_class_info(&lv, &cd_G20x0y7);
+ dp->~G20x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x0y7(Test_G20x0y7, "G20x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x0y7C1Ev();
+extern void _ZN7G20x0y7D1Ev();
+Name_Map name_map_G20x0y7[] = {
+ NSPAIR(_ZN7G20x0y7C1Ev),
+ NSPAIR(_ZN7G20x0y7D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x0;
+extern VTBL_ENTRY _ZTI5E20x0[];
+extern VTBL_ENTRY _ZTV5E20x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x0y7[] = {
+ // 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_C20, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E20x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G20x0y7[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x0y7[];
+static VTT_ENTRY vtt_G20x0y7[] = {
+ {&(_ZTV7G20x0y7[4]), 4,11},
+ {&(_ZTV7G20x0y7[7]), 7,11},
+ {&(_ZTV7G20x0y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x0y7[];
+extern VTBL_ENTRY _ZTV7G20x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x0y7[];
+Class_Descriptor cd_G20x0y7 = { "G20x0y7", // class name
+ bases_G20x0y7, 6,
+ &(vtc_G20x0y7[0]), // expected_vtbl_contents
+ &(vtt_G20x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x0y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x0y7),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 E21x0 : C21 , D1 {
+ int fd;
+ ~E21x0(); // tgen
+ E21x0(); // tgen
+};
+//SIG(-1 E21x0) C1{ BC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E21x0 ::~E21x0(){ note_dtor("E21x0", this);} // tgen
+E21x0 ::E21x0(){ note_ctor("E21x0", this);} // tgen
+
+static void Test_E21x0()
+{
+ extern Class_Descriptor cd_E21x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E21x0, buf);
+ E21x0 *dp, &lv = *(dp=new (buf) E21x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E21x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x0)");
+ check_base_class_offset(lv, (A1*)(C21*), 0, "E21x0");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(16,8), "E21x0");
+ check_base_class_offset(lv, (C21*), 0, "E21x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(32,20), "E21x0");
+ check_field_offset(lv, fd, ABISELECT(44,28), "E21x0.fd");
+ test_class_info(&lv, &cd_E21x0);
+ dp->~E21x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x0(Test_E21x0, "E21x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E21x0C1Ev();
+extern void _ZN5E21x0D1Ev();
+Name_Map name_map_E21x0[] = {
+ NSPAIR(_ZN5E21x0C1Ev),
+ NSPAIR(_ZN5E21x0D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E21x0[] = {
+ // 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_C21, 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
+ 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 _ZTI5E21x0[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E21x0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+Class_Descriptor cd_E21x0 = { "E21x0", // class name
+ bases_E21x0, 4,
+ &(vtc_E21x0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E21x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x0),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 G21x0y0 : E21x0 , F1 {
+ int ff;
+ ~G21x0y0(); // tgen
+ G21x0y0(); // tgen
+};
+//SIG(1 G21x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x0y0 ::~G21x0y0(){ note_dtor("G21x0y0", this);} // tgen
+G21x0y0 ::G21x0y0(){ note_ctor("G21x0y0", this);} // tgen
+
+static void Test_G21x0y0()
+{
+ extern Class_Descriptor cd_G21x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x0y0, buf);
+ G21x0y0 *dp, &lv = *(dp=new (buf) G21x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y0)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), 0, "G21x0y0");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y0");
+ check_base_class_offset(lv, (C21*)(E21x0*), 0, "G21x0y0");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(32,20), "G21x0y0");
+ check_base_class_offset(lv, (E21x0*), 0, "G21x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G21x0y0");
+ check_field_offset(lv, ff, ABISELECT(60,40), "G21x0y0.ff");
+ test_class_info(&lv, &cd_G21x0y0);
+ dp->~G21x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y0(Test_G21x0y0, "G21x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y0C1Ev();
+extern void _ZN7G21x0y0D1Ev();
+Name_Map name_map_G21x0y0[] = {
+ NSPAIR(_ZN7G21x0y0C1Ev),
+ NSPAIR(_ZN7G21x0y0D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x0y0[] = {
+ // 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_C21, 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
+ 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_E21x0, 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
+ 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 _ZTI7G21x0y0[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x0y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G21x0y0[];
+extern VTBL_ENTRY _ZTV7G21x0y0[];
+Class_Descriptor cd_G21x0y0 = { "G21x0y0", // class name
+ bases_G21x0y0, 6,
+ &(vtc_G21x0y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y0),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 G21x0y1 : virtual E21x0 , F1 {
+ int ff;
+ ~G21x0y1(); // tgen
+ G21x0y1(); // tgen
+};
+//SIG(1 G21x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x0y1 ::~G21x0y1(){ note_dtor("G21x0y1", this);} // tgen
+G21x0y1 ::G21x0y1(){ note_ctor("G21x0y1", this);} // tgen
+
+static void Test_G21x0y1()
+{
+ extern Class_Descriptor cd_G21x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x0y1, buf);
+ G21x0y1 *dp, &lv = *(dp=new (buf) G21x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y1)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), ABISELECT(16,12), "G21x0y1");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(32,20), "G21x0y1");
+ check_base_class_offset(lv, (C21*)(E21x0*), ABISELECT(16,12), "G21x0y1");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(48,32), "G21x0y1");
+ check_base_class_offset(lv, (E21x0*), ABISELECT(16,12), "G21x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x0y1.ff");
+ test_class_info(&lv, &cd_G21x0y1);
+ dp->~G21x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y1(Test_G21x0y1, "G21x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y1C1Ev();
+extern void _ZN7G21x0y1D1Ev();
+Name_Map name_map_G21x0y1[] = {
+ NSPAIR(_ZN7G21x0y1C1Ev),
+ NSPAIR(_ZN7G21x0y1D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x0y1[] = {
+ // 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_C21, ABISELECT(16,12), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E21x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G21x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x0y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y1[];
+static VTT_ENTRY vtt_G21x0y1[] = {
+ {&(_ZTV7G21x0y1[3]), 3,14},
+ {&(_ZTV7G21x0y1[7]), 7,14},
+ {&(_ZTV7G21x0y1[10]), 10,14},
+ {&(_ZTV7G21x0y1[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x0y1[];
+extern VTBL_ENTRY _ZTV7G21x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y1[];
+Class_Descriptor cd_G21x0y1 = { "G21x0y1", // class name
+ bases_G21x0y1, 6,
+ &(vtc_G21x0y1[0]), // expected_vtbl_contents
+ &(vtt_G21x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y1),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y1),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 G21x0y2 : E21x0 , virtual F1 {
+ int ff;
+ ~G21x0y2(); // tgen
+ G21x0y2(); // tgen
+};
+//SIG(1 G21x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x0y2 ::~G21x0y2(){ note_dtor("G21x0y2", this);} // tgen
+G21x0y2 ::G21x0y2(){ note_ctor("G21x0y2", this);} // tgen
+
+static void Test_G21x0y2()
+{
+ extern Class_Descriptor cd_G21x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x0y2, buf);
+ G21x0y2 *dp, &lv = *(dp=new (buf) G21x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y2)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), 0, "G21x0y2");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y2");
+ check_base_class_offset(lv, (C21*)(E21x0*), 0, "G21x0y2");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(32,20), "G21x0y2");
+ check_base_class_offset(lv, (E21x0*), 0, "G21x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x0y2");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G21x0y2.ff");
+ test_class_info(&lv, &cd_G21x0y2);
+ dp->~G21x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y2(Test_G21x0y2, "G21x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y2C1Ev();
+extern void _ZN7G21x0y2D1Ev();
+Name_Map name_map_G21x0y2[] = {
+ NSPAIR(_ZN7G21x0y2C1Ev),
+ NSPAIR(_ZN7G21x0y2D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x0y2[] = {
+ // 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_C21, 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_E21x0, 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 _ZTI7G21x0y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x0y2[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y2[];
+static VTT_ENTRY vtt_G21x0y2[] = {
+ {&(_ZTV7G21x0y2[3]), 3,14},
+ {&(_ZTV7G21x0y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x0y2[];
+extern VTBL_ENTRY _ZTV7G21x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y2[];
+Class_Descriptor cd_G21x0y2 = { "G21x0y2", // class name
+ bases_G21x0y2, 6,
+ &(vtc_G21x0y2[0]), // expected_vtbl_contents
+ &(vtt_G21x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y2),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y2),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 G21x0y3 : virtual E21x0 , virtual F1 {
+ int ff;
+ ~G21x0y3(); // tgen
+ G21x0y3(); // tgen
+};
+//SIG(1 G21x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x0y3 ::~G21x0y3(){ note_dtor("G21x0y3", this);} // tgen
+G21x0y3 ::G21x0y3(){ note_ctor("G21x0y3", this);} // tgen
+
+static void Test_G21x0y3()
+{
+ extern Class_Descriptor cd_G21x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x0y3, buf);
+ G21x0y3 *dp, &lv = *(dp=new (buf) G21x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y3)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y3");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(32,16), "G21x0y3");
+ check_base_class_offset(lv, (C21*)(E21x0*), ABISELECT(16,8), "G21x0y3");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(48,28), "G21x0y3");
+ check_base_class_offset(lv, (E21x0*), ABISELECT(16,8), "G21x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G21x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x0y3.ff");
+ test_class_info(&lv, &cd_G21x0y3);
+ dp->~G21x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y3(Test_G21x0y3, "G21x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y3C1Ev();
+extern void _ZN7G21x0y3D1Ev();
+Name_Map name_map_G21x0y3[] = {
+ NSPAIR(_ZN7G21x0y3C1Ev),
+ NSPAIR(_ZN7G21x0y3D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x0y3[] = {
+ // 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_C21, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E21x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G21x0y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y3[];
+static VTT_ENTRY vtt_G21x0y3[] = {
+ {&(_ZTV7G21x0y3[4]), 4,18},
+ {&(_ZTV7G21x0y3[7]), 7,18},
+ {&(_ZTV7G21x0y3[10]), 10,18},
+ {&(_ZTV7G21x0y3[13]), 13,18},
+ {&(_ZTV7G21x0y3[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G21x0y3[];
+extern VTBL_ENTRY _ZTV7G21x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y3[];
+Class_Descriptor cd_G21x0y3 = { "G21x0y3", // class name
+ bases_G21x0y3, 6,
+ &(vtc_G21x0y3[0]), // expected_vtbl_contents
+ &(vtt_G21x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y3),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y3),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 G21x0y4 : E21x0 , F0 {
+ int ff;
+ ~G21x0y4(); // tgen
+ G21x0y4(); // tgen
+};
+//SIG(1 G21x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x0y4 ::~G21x0y4(){ note_dtor("G21x0y4", this);} // tgen
+G21x0y4 ::G21x0y4(){ note_ctor("G21x0y4", this);} // tgen
+
+static void Test_G21x0y4()
+{
+ extern Class_Descriptor cd_G21x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x0y4, buf);
+ G21x0y4 *dp, &lv = *(dp=new (buf) G21x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y4)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), 0, "G21x0y4");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y4");
+ check_base_class_offset(lv, (C21*)(E21x0*), 0, "G21x0y4");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(32,20), "G21x0y4");
+ check_base_class_offset(lv, (E21x0*), 0, "G21x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,32), "G21x0y4");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G21x0y4.ff");
+ test_class_info(&lv, &cd_G21x0y4);
+ dp->~G21x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y4(Test_G21x0y4, "G21x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y4C1Ev();
+extern void _ZN7G21x0y4D1Ev();
+Name_Map name_map_G21x0y4[] = {
+ NSPAIR(_ZN7G21x0y4C1Ev),
+ NSPAIR(_ZN7G21x0y4D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x0y4[] = {
+ // 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_C21, 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
+ 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_E21x0, 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(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 _ZTI7G21x0y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x0y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G21x0y4[];
+extern VTBL_ENTRY _ZTV7G21x0y4[];
+Class_Descriptor cd_G21x0y4 = { "G21x0y4", // class name
+ bases_G21x0y4, 6,
+ &(vtc_G21x0y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y4),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 G21x0y5 : virtual E21x0 , F0 {
+ int ff;
+ ~G21x0y5(); // tgen
+ G21x0y5(); // tgen
+};
+//SIG(1 G21x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x0y5 ::~G21x0y5(){ note_dtor("G21x0y5", this);} // tgen
+G21x0y5 ::G21x0y5(){ note_ctor("G21x0y5", this);} // tgen
+
+static void Test_G21x0y5()
+{
+ extern Class_Descriptor cd_G21x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x0y5, buf);
+ G21x0y5 *dp, &lv = *(dp=new (buf) G21x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y5)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), ABISELECT(16,12), "G21x0y5");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(32,20), "G21x0y5");
+ check_base_class_offset(lv, (C21*)(E21x0*), ABISELECT(16,12), "G21x0y5");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(48,32), "G21x0y5");
+ check_base_class_offset(lv, (E21x0*), ABISELECT(16,12), "G21x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x0y5.ff");
+ test_class_info(&lv, &cd_G21x0y5);
+ dp->~G21x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y5(Test_G21x0y5, "G21x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y5C1Ev();
+extern void _ZN7G21x0y5D1Ev();
+Name_Map name_map_G21x0y5[] = {
+ NSPAIR(_ZN7G21x0y5C1Ev),
+ NSPAIR(_ZN7G21x0y5D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x0y5[] = {
+ // 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_C21, ABISELECT(16,12), //bcp->offset
+ 3, //bcp->virtual_function_table_offset
+ 3, //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_E21x0, ABISELECT(16,12), //bcp->offset
+ -1, //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 _ZTI7G21x0y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x0y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y5[];
+static VTT_ENTRY vtt_G21x0y5[] = {
+ {&(_ZTV7G21x0y5[3]), 3,13},
+ {&(_ZTV7G21x0y5[6]), 6,13},
+ {&(_ZTV7G21x0y5[9]), 9,13},
+ {&(_ZTV7G21x0y5[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G21x0y5[];
+extern VTBL_ENTRY _ZTV7G21x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y5[];
+Class_Descriptor cd_G21x0y5 = { "G21x0y5", // class name
+ bases_G21x0y5, 6,
+ &(vtc_G21x0y5[0]), // expected_vtbl_contents
+ &(vtt_G21x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y5),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y5),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 G21x0y6 : E21x0 , virtual F0 {
+ int ff;
+ ~G21x0y6(); // tgen
+ G21x0y6(); // tgen
+};
+//SIG(1 G21x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x0y6 ::~G21x0y6(){ note_dtor("G21x0y6", this);} // tgen
+G21x0y6 ::G21x0y6(){ note_ctor("G21x0y6", this);} // tgen
+
+static void Test_G21x0y6()
+{
+ extern Class_Descriptor cd_G21x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x0y6, buf);
+ G21x0y6 *dp, &lv = *(dp=new (buf) G21x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y6)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), 0, "G21x0y6");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y6");
+ check_base_class_offset(lv, (C21*)(E21x0*), 0, "G21x0y6");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(32,20), "G21x0y6");
+ check_base_class_offset(lv, (E21x0*), 0, "G21x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G21x0y6");
+ check_field_offset(lv, ff, ABISELECT(48,32), "G21x0y6.ff");
+ test_class_info(&lv, &cd_G21x0y6);
+ dp->~G21x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y6(Test_G21x0y6, "G21x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y6C1Ev();
+extern void _ZN7G21x0y6D1Ev();
+Name_Map name_map_G21x0y6[] = {
+ NSPAIR(_ZN7G21x0y6C1Ev),
+ NSPAIR(_ZN7G21x0y6D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x0y6[] = {
+ // 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_C21, 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_E21x0, 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 _ZTI7G21x0y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x0y6[] = {
+ ABISELECT(52,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y6[];
+static VTT_ENTRY vtt_G21x0y6[] = {
+ {&(_ZTV7G21x0y6[3]), 3,10},
+};
+extern VTBL_ENTRY _ZTI7G21x0y6[];
+extern VTBL_ENTRY _ZTV7G21x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y6[];
+Class_Descriptor cd_G21x0y6 = { "G21x0y6", // class name
+ bases_G21x0y6, 6,
+ &(vtc_G21x0y6[0]), // expected_vtbl_contents
+ &(vtt_G21x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y6),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y6),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 G21x0y7 : virtual E21x0 , virtual F0 {
+ int ff;
+ ~G21x0y7(); // tgen
+ G21x0y7(); // tgen
+};
+//SIG(1 G21x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x0y7 ::~G21x0y7(){ note_dtor("G21x0y7", this);} // tgen
+G21x0y7 ::G21x0y7(){ note_ctor("G21x0y7", this);} // tgen
+
+static void Test_G21x0y7()
+{
+ extern Class_Descriptor cd_G21x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x0y7, buf);
+ G21x0y7 *dp, &lv = *(dp=new (buf) G21x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x0y7)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x0*), ABISELECT(16,8), "G21x0y7");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x0*), ABISELECT(32,16), "G21x0y7");
+ check_base_class_offset(lv, (C21*)(E21x0*), ABISELECT(16,8), "G21x0y7");
+ check_base_class_offset(lv, (D1*)(E21x0*), ABISELECT(48,28), "G21x0y7");
+ check_base_class_offset(lv, (E21x0*), ABISELECT(16,8), "G21x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G21x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x0y7.ff");
+ test_class_info(&lv, &cd_G21x0y7);
+ dp->~G21x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x0y7(Test_G21x0y7, "G21x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x0y7C1Ev();
+extern void _ZN7G21x0y7D1Ev();
+Name_Map name_map_G21x0y7[] = {
+ NSPAIR(_ZN7G21x0y7C1Ev),
+ NSPAIR(_ZN7G21x0y7D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x0;
+extern VTBL_ENTRY _ZTI5E21x0[];
+extern VTBL_ENTRY _ZTV5E21x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x0y7[] = {
+ // 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_C21, ABISELECT(16,8), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //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_E21x0, ABISELECT(16,8), //bcp->offset
+ -1, //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 _ZTI7G21x0y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x0y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x0y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x0y7[];
+static VTT_ENTRY vtt_G21x0y7[] = {
+ {&(_ZTV7G21x0y7[4]), 4,14},
+ {&(_ZTV7G21x0y7[7]), 7,14},
+ {&(_ZTV7G21x0y7[10]), 10,14},
+ {&(_ZTV7G21x0y7[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x0y7[];
+extern VTBL_ENTRY _ZTV7G21x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x0y7[];
+Class_Descriptor cd_G21x0y7 = { "G21x0y7", // class name
+ bases_G21x0y7, 6,
+ &(vtc_G21x0y7[0]), // expected_vtbl_contents
+ &(vtt_G21x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x0y7),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x0y7),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 E22x0 : C22 , D1 {
+ int fd;
+ ~E22x0(); // tgen
+ E22x0(); // tgen
+};
+//SIG(-1 E22x0) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E22x0 ::~E22x0(){ note_dtor("E22x0", this);} // tgen
+E22x0 ::E22x0(){ note_ctor("E22x0", this);} // tgen
+
+static void Test_E22x0()
+{
+ extern Class_Descriptor cd_E22x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E22x0, buf);
+ E22x0 *dp, &lv = *(dp=new (buf) E22x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E22x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x0)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "E22x0");
+ check_base_class_offset(lv, (B1*)(C22*), 0, "E22x0");
+ check_base_class_offset(lv, (C22*), 0, "E22x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E22x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E22x0.fd");
+ test_class_info(&lv, &cd_E22x0);
+ dp->~E22x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x0(Test_E22x0, "E22x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E22x0C1Ev();
+extern void _ZN5E22x0D1Ev();
+Name_Map name_map_E22x0[] = {
+ NSPAIR(_ZN5E22x0C1Ev),
+ NSPAIR(_ZN5E22x0D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E22x0[] = {
+ // 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_C22, 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 _ZTI5E22x0[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E22x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x0[] = {
+ {&(_ZTV5E22x0[3]), 3,7},
+ {&(_tg__ZTV3C22__5E22x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+Class_Descriptor cd_E22x0 = { "E22x0", // class name
+ bases_E22x0, 4,
+ &(vtc_E22x0[0]), // expected_vtbl_contents
+ &(vtt_E22x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E22x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x0),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 G22x0y0 : E22x0 , F1 {
+ int ff;
+ ~G22x0y0(); // tgen
+ G22x0y0(); // tgen
+};
+//SIG(1 G22x0y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x0y0 ::~G22x0y0(){ note_dtor("G22x0y0", this);} // tgen
+G22x0y0 ::G22x0y0(){ note_ctor("G22x0y0", this);} // tgen
+
+static void Test_G22x0y0()
+{
+ extern Class_Descriptor cd_G22x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x0y0, buf);
+ G22x0y0 *dp, &lv = *(dp=new (buf) G22x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y0)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(48,36), "G22x0y0");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), 0, "G22x0y0");
+ check_base_class_offset(lv, (C22*)(E22x0*), 0, "G22x0y0");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(16,12), "G22x0y0");
+ check_base_class_offset(lv, (E22x0*), 0, "G22x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G22x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G22x0y0.ff");
+ test_class_info(&lv, &cd_G22x0y0);
+ dp->~G22x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y0(Test_G22x0y0, "G22x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y0C1Ev();
+extern void _ZN7G22x0y0D1Ev();
+Name_Map name_map_G22x0y0[] = {
+ NSPAIR(_ZN7G22x0y0C1Ev),
+ NSPAIR(_ZN7G22x0y0D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x0y0[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y0[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y0[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y0[] = {
+ {&(_ZTV7G22x0y0[3]), 3,10},
+ {&(_tg__ZTV5E22x0__7G22x0y0[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y0[];
+extern VTBL_ENTRY _ZTV7G22x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y0[];
+Class_Descriptor cd_G22x0y0 = { "G22x0y0", // class name
+ bases_G22x0y0, 6,
+ &(vtc_G22x0y0[0]), // expected_vtbl_contents
+ &(vtt_G22x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y0),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 G22x0y1 : virtual E22x0 , F1 {
+ int ff;
+ ~G22x0y1(); // tgen
+ G22x0y1(); // tgen
+};
+//SIG(1 G22x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x0y1 ::~G22x0y1(){ note_dtor("G22x0y1", this);} // tgen
+G22x0y1 ::G22x0y1(){ note_ctor("G22x0y1", this);} // tgen
+
+static void Test_G22x0y1()
+{
+ extern Class_Descriptor cd_G22x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x0y1, buf);
+ G22x0y1 *dp, &lv = *(dp=new (buf) G22x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y1)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(48,36), "G22x0y1");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), ABISELECT(16,12), "G22x0y1");
+ check_base_class_offset(lv, (C22*)(E22x0*), ABISELECT(16,12), "G22x0y1");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(32,24), "G22x0y1");
+ check_base_class_offset(lv, (E22x0*), ABISELECT(16,12), "G22x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x0y1.ff");
+ test_class_info(&lv, &cd_G22x0y1);
+ dp->~G22x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y1(Test_G22x0y1, "G22x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y1C1Ev();
+extern void _ZN7G22x0y1D1Ev();
+Name_Map name_map_G22x0y1[] = {
+ NSPAIR(_ZN7G22x0y1C1Ev),
+ NSPAIR(_ZN7G22x0y1D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x0y1[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y1[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y1[] = {
+ {&(_ZTV7G22x0y1[4]), 4,13},
+ {&(_ZTV7G22x0y1[9]), 9,13},
+ {&(_ZTV7G22x0y1[12]), 12,13},
+ {&(_tg__ZTV5E22x0__7G22x0y1[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y1[];
+extern VTBL_ENTRY _ZTV7G22x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y1[];
+Class_Descriptor cd_G22x0y1 = { "G22x0y1", // class name
+ bases_G22x0y1, 6,
+ &(vtc_G22x0y1[0]), // expected_vtbl_contents
+ &(vtt_G22x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y1),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 G22x0y2 : E22x0 , virtual F1 {
+ int ff;
+ ~G22x0y2(); // tgen
+ G22x0y2(); // tgen
+};
+//SIG(1 G22x0y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x0y2 ::~G22x0y2(){ note_dtor("G22x0y2", this);} // tgen
+G22x0y2 ::G22x0y2(){ note_ctor("G22x0y2", this);} // tgen
+
+static void Test_G22x0y2()
+{
+ extern Class_Descriptor cd_G22x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x0y2, buf);
+ G22x0y2 *dp, &lv = *(dp=new (buf) G22x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y2)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(36,28), "G22x0y2");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), 0, "G22x0y2");
+ check_base_class_offset(lv, (C22*)(E22x0*), 0, "G22x0y2");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(16,12), "G22x0y2");
+ check_base_class_offset(lv, (E22x0*), 0, "G22x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G22x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G22x0y2.ff");
+ test_class_info(&lv, &cd_G22x0y2);
+ dp->~G22x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y2(Test_G22x0y2, "G22x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y2C1Ev();
+extern void _ZN7G22x0y2D1Ev();
+Name_Map name_map_G22x0y2[] = {
+ NSPAIR(_ZN7G22x0y2C1Ev),
+ NSPAIR(_ZN7G22x0y2D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x0y2[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y2[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y2[] = {
+ {&(_ZTV7G22x0y2[4]), 4,12},
+ {&(_tg__ZTV5E22x0__7G22x0y2[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y2[3]), 3,4},
+ {&(_ZTV7G22x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G22x0y2[];
+extern VTBL_ENTRY _ZTV7G22x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y2[];
+Class_Descriptor cd_G22x0y2 = { "G22x0y2", // class name
+ bases_G22x0y2, 6,
+ &(vtc_G22x0y2[0]), // expected_vtbl_contents
+ &(vtt_G22x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y2),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 G22x0y3 : virtual E22x0 , virtual F1 {
+ int ff;
+ ~G22x0y3(); // tgen
+ G22x0y3(); // tgen
+};
+//SIG(1 G22x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x0y3 ::~G22x0y3(){ note_dtor("G22x0y3", this);} // tgen
+G22x0y3 ::G22x0y3(){ note_ctor("G22x0y3", this);} // tgen
+
+static void Test_G22x0y3()
+{
+ extern Class_Descriptor cd_G22x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x0y3, buf);
+ G22x0y3 *dp, &lv = *(dp=new (buf) G22x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y3)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(48,32), "G22x0y3");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), ABISELECT(16,8), "G22x0y3");
+ check_base_class_offset(lv, (C22*)(E22x0*), ABISELECT(16,8), "G22x0y3");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(32,20), "G22x0y3");
+ check_base_class_offset(lv, (E22x0*), ABISELECT(16,8), "G22x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x0y3.ff");
+ test_class_info(&lv, &cd_G22x0y3);
+ dp->~G22x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y3(Test_G22x0y3, "G22x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y3C1Ev();
+extern void _ZN7G22x0y3D1Ev();
+Name_Map name_map_G22x0y3[] = {
+ NSPAIR(_ZN7G22x0y3C1Ev),
+ NSPAIR(_ZN7G22x0y3D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x0y3[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y3[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y3[] = {
+ {&(_ZTV7G22x0y3[5]), 5,17},
+ {&(_ZTV7G22x0y3[9]), 9,17},
+ {&(_ZTV7G22x0y3[12]), 12,17},
+ {&(_ZTV7G22x0y3[16]), 16,17},
+ {&(_tg__ZTV5E22x0__7G22x0y3[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y3[];
+extern VTBL_ENTRY _ZTV7G22x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y3[];
+Class_Descriptor cd_G22x0y3 = { "G22x0y3", // class name
+ bases_G22x0y3, 6,
+ &(vtc_G22x0y3[0]), // expected_vtbl_contents
+ &(vtt_G22x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y3),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 G22x0y4 : E22x0 , F0 {
+ int ff;
+ ~G22x0y4(); // tgen
+ G22x0y4(); // tgen
+};
+//SIG(1 G22x0y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x0y4 ::~G22x0y4(){ note_dtor("G22x0y4", this);} // tgen
+G22x0y4 ::G22x0y4(){ note_ctor("G22x0y4", this);} // tgen
+
+static void Test_G22x0y4()
+{
+ extern Class_Descriptor cd_G22x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x0y4, buf);
+ G22x0y4 *dp, &lv = *(dp=new (buf) G22x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y4)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(40,32), "G22x0y4");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), 0, "G22x0y4");
+ check_base_class_offset(lv, (C22*)(E22x0*), 0, "G22x0y4");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(16,12), "G22x0y4");
+ check_base_class_offset(lv, (E22x0*), 0, "G22x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G22x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G22x0y4.ff");
+ test_class_info(&lv, &cd_G22x0y4);
+ dp->~G22x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y4(Test_G22x0y4, "G22x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y4C1Ev();
+extern void _ZN7G22x0y4D1Ev();
+Name_Map name_map_G22x0y4[] = {
+ NSPAIR(_ZN7G22x0y4C1Ev),
+ NSPAIR(_ZN7G22x0y4D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x0y4[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y4[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y4[] = {
+ {&(_ZTV7G22x0y4[3]), 3,7},
+ {&(_tg__ZTV5E22x0__7G22x0y4[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y4[];
+extern VTBL_ENTRY _ZTV7G22x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y4[];
+Class_Descriptor cd_G22x0y4 = { "G22x0y4", // class name
+ bases_G22x0y4, 6,
+ &(vtc_G22x0y4[0]), // expected_vtbl_contents
+ &(vtt_G22x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y4),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 G22x0y5 : virtual E22x0 , F0 {
+ int ff;
+ ~G22x0y5(); // tgen
+ G22x0y5(); // tgen
+};
+//SIG(1 G22x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x0y5 ::~G22x0y5(){ note_dtor("G22x0y5", this);} // tgen
+G22x0y5 ::G22x0y5(){ note_ctor("G22x0y5", this);} // tgen
+
+static void Test_G22x0y5()
+{
+ extern Class_Descriptor cd_G22x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x0y5, buf);
+ G22x0y5 *dp, &lv = *(dp=new (buf) G22x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y5)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(48,36), "G22x0y5");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), ABISELECT(16,12), "G22x0y5");
+ check_base_class_offset(lv, (C22*)(E22x0*), ABISELECT(16,12), "G22x0y5");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(32,24), "G22x0y5");
+ check_base_class_offset(lv, (E22x0*), ABISELECT(16,12), "G22x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x0y5.ff");
+ test_class_info(&lv, &cd_G22x0y5);
+ dp->~G22x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y5(Test_G22x0y5, "G22x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y5C1Ev();
+extern void _ZN7G22x0y5D1Ev();
+Name_Map name_map_G22x0y5[] = {
+ NSPAIR(_ZN7G22x0y5C1Ev),
+ NSPAIR(_ZN7G22x0y5D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x0y5[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y5[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y5[] = {
+ {&(_ZTV7G22x0y5[4]), 4,12},
+ {&(_ZTV7G22x0y5[8]), 8,12},
+ {&(_ZTV7G22x0y5[11]), 11,12},
+ {&(_tg__ZTV5E22x0__7G22x0y5[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y5[];
+extern VTBL_ENTRY _ZTV7G22x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y5[];
+Class_Descriptor cd_G22x0y5 = { "G22x0y5", // class name
+ bases_G22x0y5, 6,
+ &(vtc_G22x0y5[0]), // expected_vtbl_contents
+ &(vtt_G22x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y5),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 G22x0y6 : E22x0 , virtual F0 {
+ int ff;
+ ~G22x0y6(); // tgen
+ G22x0y6(); // tgen
+};
+//SIG(1 G22x0y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x0y6 ::~G22x0y6(){ note_dtor("G22x0y6", this);} // tgen
+G22x0y6 ::G22x0y6(){ note_ctor("G22x0y6", this);} // tgen
+
+static void Test_G22x0y6()
+{
+ extern Class_Descriptor cd_G22x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x0y6, buf);
+ G22x0y6 *dp, &lv = *(dp=new (buf) G22x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y6)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(36,28), "G22x0y6");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), 0, "G22x0y6");
+ check_base_class_offset(lv, (C22*)(E22x0*), 0, "G22x0y6");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(16,12), "G22x0y6");
+ check_base_class_offset(lv, (E22x0*), 0, "G22x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G22x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G22x0y6.ff");
+ test_class_info(&lv, &cd_G22x0y6);
+ dp->~G22x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y6(Test_G22x0y6, "G22x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y6C1Ev();
+extern void _ZN7G22x0y6D1Ev();
+Name_Map name_map_G22x0y6[] = {
+ NSPAIR(_ZN7G22x0y6C1Ev),
+ NSPAIR(_ZN7G22x0y6D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x0y6[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y6[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y6[] = {
+ {&(_ZTV7G22x0y6[4]), 4,8},
+ {&(_tg__ZTV5E22x0__7G22x0y6[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y6[];
+extern VTBL_ENTRY _ZTV7G22x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y6[];
+Class_Descriptor cd_G22x0y6 = { "G22x0y6", // class name
+ bases_G22x0y6, 6,
+ &(vtc_G22x0y6[0]), // expected_vtbl_contents
+ &(vtt_G22x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y6),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 G22x0y7 : virtual E22x0 , virtual F0 {
+ int ff;
+ ~G22x0y7(); // tgen
+ G22x0y7(); // tgen
+};
+//SIG(1 G22x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x0y7 ::~G22x0y7(){ note_dtor("G22x0y7", this);} // tgen
+G22x0y7 ::G22x0y7(){ note_ctor("G22x0y7", this);} // tgen
+
+static void Test_G22x0y7()
+{
+ extern Class_Descriptor cd_G22x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x0y7, buf);
+ G22x0y7 *dp, &lv = *(dp=new (buf) G22x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x0y7)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x0*), ABISELECT(48,32), "G22x0y7");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x0*), ABISELECT(16,8), "G22x0y7");
+ check_base_class_offset(lv, (C22*)(E22x0*), ABISELECT(16,8), "G22x0y7");
+ check_base_class_offset(lv, (D1*)(E22x0*), ABISELECT(32,20), "G22x0y7");
+ check_base_class_offset(lv, (E22x0*), ABISELECT(16,8), "G22x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G22x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x0y7.ff");
+ test_class_info(&lv, &cd_G22x0y7);
+ dp->~G22x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x0y7(Test_G22x0y7, "G22x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x0y7C1Ev();
+extern void _ZN7G22x0y7D1Ev();
+Name_Map name_map_G22x0y7[] = {
+ NSPAIR(_ZN7G22x0y7C1Ev),
+ NSPAIR(_ZN7G22x0y7D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x0;
+extern VTBL_ENTRY _ZTI5E22x0[];
+extern VTBL_ENTRY _ZTV5E22x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x0y7[] = {
+ // 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_C22, 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_E22x0, 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 _ZTI7G22x0y7[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x0y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x0__7G22x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x0__7G22x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x0y7[] = {
+ {&(_ZTV7G22x0y7[5]), 5,13},
+ {&(_ZTV7G22x0y7[9]), 9,13},
+ {&(_ZTV7G22x0y7[12]), 12,13},
+ {&(_tg__ZTV5E22x0__7G22x0y7[3]), 3,4},
+ {&(_tg__ZTV3C225E22x0__7G22x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x0y7[];
+extern VTBL_ENTRY _ZTV7G22x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x0y7[];
+Class_Descriptor cd_G22x0y7 = { "G22x0y7", // class name
+ bases_G22x0y7, 6,
+ &(vtc_G22x0y7[0]), // expected_vtbl_contents
+ &(vtt_G22x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x0y7),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 E23x0 : C23 , D1 {
+ int fd;
+ ~E23x0(); // tgen
+ E23x0(); // tgen
+};
+//SIG(-1 E23x0) C1{ BC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E23x0 ::~E23x0(){ note_dtor("E23x0", this);} // tgen
+E23x0 ::E23x0(){ note_ctor("E23x0", this);} // tgen
+
+static void Test_E23x0()
+{
+ extern Class_Descriptor cd_E23x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E23x0, buf);
+ E23x0 *dp, &lv = *(dp=new (buf) E23x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E23x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x0)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "E23x0");
+ check_base_class_offset(lv, (B1*)(C23*), 0, "E23x0");
+ check_base_class_offset(lv, (C23*), 0, "E23x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E23x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E23x0.fd");
+ test_class_info(&lv, &cd_E23x0);
+ dp->~E23x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x0(Test_E23x0, "E23x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E23x0C1Ev();
+extern void _ZN5E23x0D1Ev();
+Name_Map name_map_E23x0[] = {
+ NSPAIR(_ZN5E23x0C1Ev),
+ NSPAIR(_ZN5E23x0D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E23x0[] = {
+ // 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_C23, 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 _ZTI5E23x0[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E23x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__5E23x0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x0[] = {
+ {&(_ZTV5E23x0[3]), 3,11},
+ {&(_tg__ZTV3C23__5E23x0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x0[3]), 3,4},
+ {&(_ZTV5E23x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+static VTBL_ENTRY alt_thunk_names17[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E23x0 = { "E23x0", // class name
+ bases_E23x0, 4,
+ &(vtc_E23x0[0]), // expected_vtbl_contents
+ &(vtt_E23x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E23x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x0),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 G23x0y0 : E23x0 , F1 {
+ int ff;
+ ~G23x0y0(); // tgen
+ G23x0y0(); // tgen
+};
+//SIG(1 G23x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x0y0 ::~G23x0y0(){ note_dtor("G23x0y0", this);} // tgen
+G23x0y0 ::G23x0y0(){ note_ctor("G23x0y0", this);} // tgen
+
+static void Test_G23x0y0()
+{
+ extern Class_Descriptor cd_G23x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x0y0, buf);
+ G23x0y0 *dp, &lv = *(dp=new (buf) G23x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y0)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(48,36), "G23x0y0");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), 0, "G23x0y0");
+ check_base_class_offset(lv, (C23*)(E23x0*), 0, "G23x0y0");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(16,12), "G23x0y0");
+ check_base_class_offset(lv, (E23x0*), 0, "G23x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G23x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G23x0y0.ff");
+ test_class_info(&lv, &cd_G23x0y0);
+ dp->~G23x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y0(Test_G23x0y0, "G23x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y0C1Ev();
+extern void _ZN7G23x0y0D1Ev();
+Name_Map name_map_G23x0y0[] = {
+ NSPAIR(_ZN7G23x0y0C1Ev),
+ NSPAIR(_ZN7G23x0y0D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x0y0[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y0[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y0[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y0[] = {
+ {&(_ZTV7G23x0y0[3]), 3,14},
+ {&(_tg__ZTV5E23x0__7G23x0y0[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y0[3]), 3,4},
+ {&(_ZTV7G23x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G23x0y0[];
+extern VTBL_ENTRY _ZTV7G23x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y0[];
+static VTBL_ENTRY alt_thunk_names18[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C233fooEv,_ZThn36_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y0 = { "G23x0y0", // class name
+ bases_G23x0y0, 6,
+ &(vtc_G23x0y0[0]), // expected_vtbl_contents
+ &(vtt_G23x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y0),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 G23x0y1 : virtual E23x0 , F1 {
+ int ff;
+ ~G23x0y1(); // tgen
+ G23x0y1(); // tgen
+};
+//SIG(1 G23x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x0y1 ::~G23x0y1(){ note_dtor("G23x0y1", this);} // tgen
+G23x0y1 ::G23x0y1(){ note_ctor("G23x0y1", this);} // tgen
+
+static void Test_G23x0y1()
+{
+ extern Class_Descriptor cd_G23x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x0y1, buf);
+ G23x0y1 *dp, &lv = *(dp=new (buf) G23x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y1)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(48,36), "G23x0y1");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), ABISELECT(16,12), "G23x0y1");
+ check_base_class_offset(lv, (C23*)(E23x0*), ABISELECT(16,12), "G23x0y1");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(32,24), "G23x0y1");
+ check_base_class_offset(lv, (E23x0*), ABISELECT(16,12), "G23x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x0y1.ff");
+ test_class_info(&lv, &cd_G23x0y1);
+ dp->~G23x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y1(Test_G23x0y1, "G23x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y1C1Ev();
+extern void _ZN7G23x0y1D1Ev();
+Name_Map name_map_G23x0y1[] = {
+ NSPAIR(_ZN7G23x0y1C1Ev),
+ NSPAIR(_ZN7G23x0y1D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x0y1[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y1[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y1[] = {
+ {&(_ZTV7G23x0y1[4]), 4,17},
+ {&(_ZTV7G23x0y1[9]), 9,17},
+ {&(_ZTV7G23x0y1[16]), 16,17},
+ {&(_ZTV7G23x0y1[12]), 12,17},
+ {&(_tg__ZTV5E23x0__7G23x0y1[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x0y1[];
+extern VTBL_ENTRY _ZTV7G23x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y1[];
+static VTBL_ENTRY alt_thunk_names19[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y1 = { "G23x0y1", // class name
+ bases_G23x0y1, 6,
+ &(vtc_G23x0y1[0]), // expected_vtbl_contents
+ &(vtt_G23x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y1),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 G23x0y2 : E23x0 , virtual F1 {
+ int ff;
+ ~G23x0y2(); // tgen
+ G23x0y2(); // tgen
+};
+//SIG(1 G23x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x0y2 ::~G23x0y2(){ note_dtor("G23x0y2", this);} // tgen
+G23x0y2 ::G23x0y2(){ note_ctor("G23x0y2", this);} // tgen
+
+static void Test_G23x0y2()
+{
+ extern Class_Descriptor cd_G23x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x0y2, buf);
+ G23x0y2 *dp, &lv = *(dp=new (buf) G23x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y2)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(40,28), "G23x0y2");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), 0, "G23x0y2");
+ check_base_class_offset(lv, (C23*)(E23x0*), 0, "G23x0y2");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(16,12), "G23x0y2");
+ check_base_class_offset(lv, (E23x0*), 0, "G23x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G23x0y2.ff");
+ test_class_info(&lv, &cd_G23x0y2);
+ dp->~G23x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y2(Test_G23x0y2, "G23x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y2C1Ev();
+extern void _ZN7G23x0y2D1Ev();
+Name_Map name_map_G23x0y2[] = {
+ NSPAIR(_ZN7G23x0y2C1Ev),
+ NSPAIR(_ZN7G23x0y2D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x0y2[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y2[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x0y2[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y2[] = {
+ {&(_ZTV7G23x0y2[4]), 4,16},
+ {&(_tg__ZTV5E23x0__7G23x0y2[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y2[3]), 3,4},
+ {&(_ZTV7G23x0y2[11]), 11,16},
+ {&(_ZTV7G23x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G23x0y2[];
+extern VTBL_ENTRY _ZTV7G23x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y2[];
+static VTBL_ENTRY alt_thunk_names20[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y2 = { "G23x0y2", // class name
+ bases_G23x0y2, 6,
+ &(vtc_G23x0y2[0]), // expected_vtbl_contents
+ &(vtt_G23x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y2),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 G23x0y3 : virtual E23x0 , virtual F1 {
+ int ff;
+ ~G23x0y3(); // tgen
+ G23x0y3(); // tgen
+};
+//SIG(1 G23x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x0y3 ::~G23x0y3(){ note_dtor("G23x0y3", this);} // tgen
+G23x0y3 ::G23x0y3(){ note_ctor("G23x0y3", this);} // tgen
+
+static void Test_G23x0y3()
+{
+ extern Class_Descriptor cd_G23x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x0y3, buf);
+ G23x0y3 *dp, &lv = *(dp=new (buf) G23x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y3)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(48,32), "G23x0y3");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), ABISELECT(16,8), "G23x0y3");
+ check_base_class_offset(lv, (C23*)(E23x0*), ABISELECT(16,8), "G23x0y3");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(32,20), "G23x0y3");
+ check_base_class_offset(lv, (E23x0*), ABISELECT(16,8), "G23x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G23x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x0y3.ff");
+ test_class_info(&lv, &cd_G23x0y3);
+ dp->~G23x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y3(Test_G23x0y3, "G23x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y3C1Ev();
+extern void _ZN7G23x0y3D1Ev();
+Name_Map name_map_G23x0y3[] = {
+ NSPAIR(_ZN7G23x0y3C1Ev),
+ NSPAIR(_ZN7G23x0y3D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x0y3[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y3[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x0y3[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y3[] = {
+ {&(_ZTV7G23x0y3[5]), 5,21},
+ {&(_ZTV7G23x0y3[9]), 9,21},
+ {&(_ZTV7G23x0y3[16]), 16,21},
+ {&(_ZTV7G23x0y3[12]), 12,21},
+ {&(_ZTV7G23x0y3[20]), 20,21},
+ {&(_tg__ZTV5E23x0__7G23x0y3[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x0y3[];
+extern VTBL_ENTRY _ZTV7G23x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y3[];
+static VTBL_ENTRY alt_thunk_names21[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y3 = { "G23x0y3", // class name
+ bases_G23x0y3, 6,
+ &(vtc_G23x0y3[0]), // expected_vtbl_contents
+ &(vtt_G23x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y3),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 G23x0y4 : E23x0 , F0 {
+ int ff;
+ ~G23x0y4(); // tgen
+ G23x0y4(); // tgen
+};
+//SIG(1 G23x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x0y4 ::~G23x0y4(){ note_dtor("G23x0y4", this);} // tgen
+G23x0y4 ::G23x0y4(){ note_ctor("G23x0y4", this);} // tgen
+
+static void Test_G23x0y4()
+{
+ extern Class_Descriptor cd_G23x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x0y4, buf);
+ G23x0y4 *dp, &lv = *(dp=new (buf) G23x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y4)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(40,32), "G23x0y4");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), 0, "G23x0y4");
+ check_base_class_offset(lv, (C23*)(E23x0*), 0, "G23x0y4");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(16,12), "G23x0y4");
+ check_base_class_offset(lv, (E23x0*), 0, "G23x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G23x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G23x0y4.ff");
+ test_class_info(&lv, &cd_G23x0y4);
+ dp->~G23x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y4(Test_G23x0y4, "G23x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y4C1Ev();
+extern void _ZN7G23x0y4D1Ev();
+Name_Map name_map_G23x0y4[] = {
+ NSPAIR(_ZN7G23x0y4C1Ev),
+ NSPAIR(_ZN7G23x0y4D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x0y4[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y4[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y4[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y4[] = {
+ {&(_ZTV7G23x0y4[3]), 3,11},
+ {&(_tg__ZTV5E23x0__7G23x0y4[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y4[3]), 3,4},
+ {&(_ZTV7G23x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G23x0y4[];
+extern VTBL_ENTRY _ZTV7G23x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y4[];
+static VTBL_ENTRY alt_thunk_names22[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y4 = { "G23x0y4", // class name
+ bases_G23x0y4, 6,
+ &(vtc_G23x0y4[0]), // expected_vtbl_contents
+ &(vtt_G23x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y4),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 G23x0y5 : virtual E23x0 , F0 {
+ int ff;
+ ~G23x0y5(); // tgen
+ G23x0y5(); // tgen
+};
+//SIG(1 G23x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x0y5 ::~G23x0y5(){ note_dtor("G23x0y5", this);} // tgen
+G23x0y5 ::G23x0y5(){ note_ctor("G23x0y5", this);} // tgen
+
+static void Test_G23x0y5()
+{
+ extern Class_Descriptor cd_G23x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x0y5, buf);
+ G23x0y5 *dp, &lv = *(dp=new (buf) G23x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y5)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(48,36), "G23x0y5");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), ABISELECT(16,12), "G23x0y5");
+ check_base_class_offset(lv, (C23*)(E23x0*), ABISELECT(16,12), "G23x0y5");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(32,24), "G23x0y5");
+ check_base_class_offset(lv, (E23x0*), ABISELECT(16,12), "G23x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x0y5.ff");
+ test_class_info(&lv, &cd_G23x0y5);
+ dp->~G23x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y5(Test_G23x0y5, "G23x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y5C1Ev();
+extern void _ZN7G23x0y5D1Ev();
+Name_Map name_map_G23x0y5[] = {
+ NSPAIR(_ZN7G23x0y5C1Ev),
+ NSPAIR(_ZN7G23x0y5D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x0y5[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y5[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y5[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y5[] = {
+ {&(_ZTV7G23x0y5[4]), 4,16},
+ {&(_ZTV7G23x0y5[8]), 8,16},
+ {&(_ZTV7G23x0y5[15]), 15,16},
+ {&(_ZTV7G23x0y5[11]), 11,16},
+ {&(_tg__ZTV5E23x0__7G23x0y5[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x0y5[];
+extern VTBL_ENTRY _ZTV7G23x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y5[];
+static VTBL_ENTRY alt_thunk_names23[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y5 = { "G23x0y5", // class name
+ bases_G23x0y5, 6,
+ &(vtc_G23x0y5[0]), // expected_vtbl_contents
+ &(vtt_G23x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y5),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 G23x0y6 : E23x0 , virtual F0 {
+ int ff;
+ ~G23x0y6(); // tgen
+ G23x0y6(); // tgen
+};
+//SIG(1 G23x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x0y6 ::~G23x0y6(){ note_dtor("G23x0y6", this);} // tgen
+G23x0y6 ::G23x0y6(){ note_ctor("G23x0y6", this);} // tgen
+
+static void Test_G23x0y6()
+{
+ extern Class_Descriptor cd_G23x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x0y6, buf);
+ G23x0y6 *dp, &lv = *(dp=new (buf) G23x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y6)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(40,28), "G23x0y6");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), 0, "G23x0y6");
+ check_base_class_offset(lv, (C23*)(E23x0*), 0, "G23x0y6");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(16,12), "G23x0y6");
+ check_base_class_offset(lv, (E23x0*), 0, "G23x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G23x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G23x0y6.ff");
+ test_class_info(&lv, &cd_G23x0y6);
+ dp->~G23x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y6(Test_G23x0y6, "G23x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y6C1Ev();
+extern void _ZN7G23x0y6D1Ev();
+Name_Map name_map_G23x0y6[] = {
+ NSPAIR(_ZN7G23x0y6C1Ev),
+ NSPAIR(_ZN7G23x0y6D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x0y6[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y6[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y6[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y6[] = {
+ {&(_ZTV7G23x0y6[4]), 4,12},
+ {&(_tg__ZTV5E23x0__7G23x0y6[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y6[3]), 3,4},
+ {&(_ZTV7G23x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G23x0y6[];
+extern VTBL_ENTRY _ZTV7G23x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y6[];
+static VTBL_ENTRY alt_thunk_names24[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y6 = { "G23x0y6", // class name
+ bases_G23x0y6, 6,
+ &(vtc_G23x0y6[0]), // expected_vtbl_contents
+ &(vtt_G23x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y6),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 G23x0y7 : virtual E23x0 , virtual F0 {
+ int ff;
+ ~G23x0y7(); // tgen
+ G23x0y7(); // tgen
+};
+//SIG(1 G23x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x0y7 ::~G23x0y7(){ note_dtor("G23x0y7", this);} // tgen
+G23x0y7 ::G23x0y7(){ note_ctor("G23x0y7", this);} // tgen
+
+static void Test_G23x0y7()
+{
+ extern Class_Descriptor cd_G23x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x0y7, buf);
+ G23x0y7 *dp, &lv = *(dp=new (buf) G23x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x0y7)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x0*), ABISELECT(48,32), "G23x0y7");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x0*), ABISELECT(16,8), "G23x0y7");
+ check_base_class_offset(lv, (C23*)(E23x0*), ABISELECT(16,8), "G23x0y7");
+ check_base_class_offset(lv, (D1*)(E23x0*), ABISELECT(32,20), "G23x0y7");
+ check_base_class_offset(lv, (E23x0*), ABISELECT(16,8), "G23x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G23x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x0y7.ff");
+ test_class_info(&lv, &cd_G23x0y7);
+ dp->~G23x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x0y7(Test_G23x0y7, "G23x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x0y7C1Ev();
+extern void _ZN7G23x0y7D1Ev();
+Name_Map name_map_G23x0y7[] = {
+ NSPAIR(_ZN7G23x0y7C1Ev),
+ NSPAIR(_ZN7G23x0y7D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x0;
+extern VTBL_ENTRY _ZTI5E23x0[];
+extern VTBL_ENTRY _ZTV5E23x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x0y7[] = {
+ // 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_C23, 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_E23x0, 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 _ZTI7G23x0y7[];
+extern void _ZN3C233fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x0y7[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x0__7G23x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x0__7G23x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x0__7G23x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x0__7G23x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x0y7[] = {
+ {&(_ZTV7G23x0y7[5]), 5,17},
+ {&(_ZTV7G23x0y7[9]), 9,17},
+ {&(_ZTV7G23x0y7[16]), 16,17},
+ {&(_ZTV7G23x0y7[12]), 12,17},
+ {&(_tg__ZTV5E23x0__7G23x0y7[3]), 3,4},
+ {&(_tg__ZTV3C235E23x0__7G23x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x0__7G23x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x0__7G23x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x0y7[];
+extern VTBL_ENTRY _ZTV7G23x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x0y7[];
+static VTBL_ENTRY alt_thunk_names25[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x0y7 = { "G23x0y7", // class name
+ bases_G23x0y7, 6,
+ &(vtc_G23x0y7[0]), // expected_vtbl_contents
+ &(vtt_G23x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x0y7),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 E24x0 : C24 , D1 {
+ int fd;
+ ~E24x0(); // tgen
+ E24x0(); // tgen
+};
+//SIG(-1 E24x0) C1{ BC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E24x0 ::~E24x0(){ note_dtor("E24x0", this);} // tgen
+E24x0 ::E24x0(){ note_ctor("E24x0", this);} // tgen
+
+static void Test_E24x0()
+{
+ extern Class_Descriptor cd_E24x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E24x0, buf);
+ E24x0 *dp, &lv = *(dp=new (buf) E24x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E24x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x0)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(8,4), "E24x0");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "E24x0");
+ check_base_class_offset(lv, (C24*), 0, "E24x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E24x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E24x0.fd");
+ test_class_info(&lv, &cd_E24x0);
+ dp->~E24x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x0(Test_E24x0, "E24x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E24x0C1Ev();
+extern void _ZN5E24x0D1Ev();
+Name_Map name_map_E24x0[] = {
+ NSPAIR(_ZN5E24x0C1Ev),
+ NSPAIR(_ZN5E24x0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E24x0[] = {
+ // 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_C24, 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 _ZTI5E24x0[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E24x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x0[] = {
+ {&(_ZTV5E24x0[3]), 3,7},
+ {&(_tg__ZTV3C24__5E24x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+Class_Descriptor cd_E24x0 = { "E24x0", // class name
+ bases_E24x0, 4,
+ &(vtc_E24x0[0]), // expected_vtbl_contents
+ &(vtt_E24x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E24x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x0),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 G24x0y0 : E24x0 , F1 {
+ int ff;
+ ~G24x0y0(); // tgen
+ G24x0y0(); // tgen
+};
+//SIG(1 G24x0y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x0y0 ::~G24x0y0(){ note_dtor("G24x0y0", this);} // tgen
+G24x0y0 ::G24x0y0(){ note_ctor("G24x0y0", this);} // tgen
+
+static void Test_G24x0y0()
+{
+ extern Class_Descriptor cd_G24x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x0y0, buf);
+ G24x0y0 *dp, &lv = *(dp=new (buf) G24x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y0)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(8,4), "G24x0y0");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(48,36), "G24x0y0");
+ check_base_class_offset(lv, (C24*)(E24x0*), 0, "G24x0y0");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(16,12), "G24x0y0");
+ check_base_class_offset(lv, (E24x0*), 0, "G24x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G24x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G24x0y0.ff");
+ test_class_info(&lv, &cd_G24x0y0);
+ dp->~G24x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y0(Test_G24x0y0, "G24x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y0C1Ev();
+extern void _ZN7G24x0y0D1Ev();
+Name_Map name_map_G24x0y0[] = {
+ NSPAIR(_ZN7G24x0y0C1Ev),
+ NSPAIR(_ZN7G24x0y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x0y0[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y0[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y0[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y0[] = {
+ {&(_ZTV7G24x0y0[3]), 3,10},
+ {&(_tg__ZTV5E24x0__7G24x0y0[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y0[];
+extern VTBL_ENTRY _ZTV7G24x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y0[];
+Class_Descriptor cd_G24x0y0 = { "G24x0y0", // class name
+ bases_G24x0y0, 6,
+ &(vtc_G24x0y0[0]), // expected_vtbl_contents
+ &(vtt_G24x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y0),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 G24x0y1 : virtual E24x0 , F1 {
+ int ff;
+ ~G24x0y1(); // tgen
+ G24x0y1(); // tgen
+};
+//SIG(1 G24x0y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x0y1 ::~G24x0y1(){ note_dtor("G24x0y1", this);} // tgen
+G24x0y1 ::G24x0y1(){ note_ctor("G24x0y1", this);} // tgen
+
+static void Test_G24x0y1()
+{
+ extern Class_Descriptor cd_G24x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x0y1, buf);
+ G24x0y1 *dp, &lv = *(dp=new (buf) G24x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y1)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(24,16), "G24x0y1");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(48,36), "G24x0y1");
+ check_base_class_offset(lv, (C24*)(E24x0*), ABISELECT(16,12), "G24x0y1");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(32,24), "G24x0y1");
+ check_base_class_offset(lv, (E24x0*), ABISELECT(16,12), "G24x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x0y1.ff");
+ test_class_info(&lv, &cd_G24x0y1);
+ dp->~G24x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y1(Test_G24x0y1, "G24x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y1C1Ev();
+extern void _ZN7G24x0y1D1Ev();
+Name_Map name_map_G24x0y1[] = {
+ NSPAIR(_ZN7G24x0y1C1Ev),
+ NSPAIR(_ZN7G24x0y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x0y1[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y1[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y1[] = {
+ {&(_ZTV7G24x0y1[4]), 4,13},
+ {&(_ZTV7G24x0y1[9]), 9,13},
+ {&(_ZTV7G24x0y1[12]), 12,13},
+ {&(_tg__ZTV5E24x0__7G24x0y1[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y1[];
+extern VTBL_ENTRY _ZTV7G24x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y1[];
+Class_Descriptor cd_G24x0y1 = { "G24x0y1", // class name
+ bases_G24x0y1, 6,
+ &(vtc_G24x0y1[0]), // expected_vtbl_contents
+ &(vtt_G24x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y1),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 G24x0y2 : E24x0 , virtual F1 {
+ int ff;
+ ~G24x0y2(); // tgen
+ G24x0y2(); // tgen
+};
+//SIG(1 G24x0y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x0y2 ::~G24x0y2(){ note_dtor("G24x0y2", this);} // tgen
+G24x0y2 ::G24x0y2(){ note_ctor("G24x0y2", this);} // tgen
+
+static void Test_G24x0y2()
+{
+ extern Class_Descriptor cd_G24x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x0y2, buf);
+ G24x0y2 *dp, &lv = *(dp=new (buf) G24x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y2)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(8,4), "G24x0y2");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(36,28), "G24x0y2");
+ check_base_class_offset(lv, (C24*)(E24x0*), 0, "G24x0y2");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(16,12), "G24x0y2");
+ check_base_class_offset(lv, (E24x0*), 0, "G24x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G24x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G24x0y2.ff");
+ test_class_info(&lv, &cd_G24x0y2);
+ dp->~G24x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y2(Test_G24x0y2, "G24x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y2C1Ev();
+extern void _ZN7G24x0y2D1Ev();
+Name_Map name_map_G24x0y2[] = {
+ NSPAIR(_ZN7G24x0y2C1Ev),
+ NSPAIR(_ZN7G24x0y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x0y2[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y2[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y2[] = {
+ {&(_ZTV7G24x0y2[4]), 4,12},
+ {&(_tg__ZTV5E24x0__7G24x0y2[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y2[3]), 3,4},
+ {&(_ZTV7G24x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G24x0y2[];
+extern VTBL_ENTRY _ZTV7G24x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y2[];
+Class_Descriptor cd_G24x0y2 = { "G24x0y2", // class name
+ bases_G24x0y2, 6,
+ &(vtc_G24x0y2[0]), // expected_vtbl_contents
+ &(vtt_G24x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y2),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 G24x0y3 : virtual E24x0 , virtual F1 {
+ int ff;
+ ~G24x0y3(); // tgen
+ G24x0y3(); // tgen
+};
+//SIG(1 G24x0y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x0y3 ::~G24x0y3(){ note_dtor("G24x0y3", this);} // tgen
+G24x0y3 ::G24x0y3(){ note_ctor("G24x0y3", this);} // tgen
+
+static void Test_G24x0y3()
+{
+ extern Class_Descriptor cd_G24x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x0y3, buf);
+ G24x0y3 *dp, &lv = *(dp=new (buf) G24x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y3)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(24,12), "G24x0y3");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(48,32), "G24x0y3");
+ check_base_class_offset(lv, (C24*)(E24x0*), ABISELECT(16,8), "G24x0y3");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(32,20), "G24x0y3");
+ check_base_class_offset(lv, (E24x0*), ABISELECT(16,8), "G24x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x0y3.ff");
+ test_class_info(&lv, &cd_G24x0y3);
+ dp->~G24x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y3(Test_G24x0y3, "G24x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y3C1Ev();
+extern void _ZN7G24x0y3D1Ev();
+Name_Map name_map_G24x0y3[] = {
+ NSPAIR(_ZN7G24x0y3C1Ev),
+ NSPAIR(_ZN7G24x0y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x0y3[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y3[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y3[] = {
+ {&(_ZTV7G24x0y3[5]), 5,17},
+ {&(_ZTV7G24x0y3[9]), 9,17},
+ {&(_ZTV7G24x0y3[12]), 12,17},
+ {&(_ZTV7G24x0y3[16]), 16,17},
+ {&(_tg__ZTV5E24x0__7G24x0y3[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y3[];
+extern VTBL_ENTRY _ZTV7G24x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y3[];
+Class_Descriptor cd_G24x0y3 = { "G24x0y3", // class name
+ bases_G24x0y3, 6,
+ &(vtc_G24x0y3[0]), // expected_vtbl_contents
+ &(vtt_G24x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y3),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 G24x0y4 : E24x0 , F0 {
+ int ff;
+ ~G24x0y4(); // tgen
+ G24x0y4(); // tgen
+};
+//SIG(1 G24x0y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x0y4 ::~G24x0y4(){ note_dtor("G24x0y4", this);} // tgen
+G24x0y4 ::G24x0y4(){ note_ctor("G24x0y4", this);} // tgen
+
+static void Test_G24x0y4()
+{
+ extern Class_Descriptor cd_G24x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x0y4, buf);
+ G24x0y4 *dp, &lv = *(dp=new (buf) G24x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y4)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(8,4), "G24x0y4");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(40,32), "G24x0y4");
+ check_base_class_offset(lv, (C24*)(E24x0*), 0, "G24x0y4");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(16,12), "G24x0y4");
+ check_base_class_offset(lv, (E24x0*), 0, "G24x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G24x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G24x0y4.ff");
+ test_class_info(&lv, &cd_G24x0y4);
+ dp->~G24x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y4(Test_G24x0y4, "G24x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y4C1Ev();
+extern void _ZN7G24x0y4D1Ev();
+Name_Map name_map_G24x0y4[] = {
+ NSPAIR(_ZN7G24x0y4C1Ev),
+ NSPAIR(_ZN7G24x0y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x0y4[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y4[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y4[] = {
+ {&(_ZTV7G24x0y4[3]), 3,7},
+ {&(_tg__ZTV5E24x0__7G24x0y4[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y4[];
+extern VTBL_ENTRY _ZTV7G24x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y4[];
+Class_Descriptor cd_G24x0y4 = { "G24x0y4", // class name
+ bases_G24x0y4, 6,
+ &(vtc_G24x0y4[0]), // expected_vtbl_contents
+ &(vtt_G24x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y4),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 G24x0y5 : virtual E24x0 , F0 {
+ int ff;
+ ~G24x0y5(); // tgen
+ G24x0y5(); // tgen
+};
+//SIG(1 G24x0y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x0y5 ::~G24x0y5(){ note_dtor("G24x0y5", this);} // tgen
+G24x0y5 ::G24x0y5(){ note_ctor("G24x0y5", this);} // tgen
+
+static void Test_G24x0y5()
+{
+ extern Class_Descriptor cd_G24x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x0y5, buf);
+ G24x0y5 *dp, &lv = *(dp=new (buf) G24x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y5)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(24,16), "G24x0y5");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(48,36), "G24x0y5");
+ check_base_class_offset(lv, (C24*)(E24x0*), ABISELECT(16,12), "G24x0y5");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(32,24), "G24x0y5");
+ check_base_class_offset(lv, (E24x0*), ABISELECT(16,12), "G24x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x0y5.ff");
+ test_class_info(&lv, &cd_G24x0y5);
+ dp->~G24x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y5(Test_G24x0y5, "G24x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y5C1Ev();
+extern void _ZN7G24x0y5D1Ev();
+Name_Map name_map_G24x0y5[] = {
+ NSPAIR(_ZN7G24x0y5C1Ev),
+ NSPAIR(_ZN7G24x0y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x0y5[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y5[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y5[] = {
+ {&(_ZTV7G24x0y5[4]), 4,12},
+ {&(_ZTV7G24x0y5[8]), 8,12},
+ {&(_ZTV7G24x0y5[11]), 11,12},
+ {&(_tg__ZTV5E24x0__7G24x0y5[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y5[];
+extern VTBL_ENTRY _ZTV7G24x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y5[];
+Class_Descriptor cd_G24x0y5 = { "G24x0y5", // class name
+ bases_G24x0y5, 6,
+ &(vtc_G24x0y5[0]), // expected_vtbl_contents
+ &(vtt_G24x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y5),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 G24x0y6 : E24x0 , virtual F0 {
+ int ff;
+ ~G24x0y6(); // tgen
+ G24x0y6(); // tgen
+};
+//SIG(1 G24x0y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x0y6 ::~G24x0y6(){ note_dtor("G24x0y6", this);} // tgen
+G24x0y6 ::G24x0y6(){ note_ctor("G24x0y6", this);} // tgen
+
+static void Test_G24x0y6()
+{
+ extern Class_Descriptor cd_G24x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x0y6, buf);
+ G24x0y6 *dp, &lv = *(dp=new (buf) G24x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y6)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(8,4), "G24x0y6");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(36,28), "G24x0y6");
+ check_base_class_offset(lv, (C24*)(E24x0*), 0, "G24x0y6");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(16,12), "G24x0y6");
+ check_base_class_offset(lv, (E24x0*), 0, "G24x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G24x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G24x0y6.ff");
+ test_class_info(&lv, &cd_G24x0y6);
+ dp->~G24x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y6(Test_G24x0y6, "G24x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y6C1Ev();
+extern void _ZN7G24x0y6D1Ev();
+Name_Map name_map_G24x0y6[] = {
+ NSPAIR(_ZN7G24x0y6C1Ev),
+ NSPAIR(_ZN7G24x0y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x0y6[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y6[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y6[] = {
+ {&(_ZTV7G24x0y6[4]), 4,8},
+ {&(_tg__ZTV5E24x0__7G24x0y6[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y6[];
+extern VTBL_ENTRY _ZTV7G24x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y6[];
+Class_Descriptor cd_G24x0y6 = { "G24x0y6", // class name
+ bases_G24x0y6, 6,
+ &(vtc_G24x0y6[0]), // expected_vtbl_contents
+ &(vtt_G24x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y6),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 G24x0y7 : virtual E24x0 , virtual F0 {
+ int ff;
+ ~G24x0y7(); // tgen
+ G24x0y7(); // tgen
+};
+//SIG(1 G24x0y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x0y7 ::~G24x0y7(){ note_dtor("G24x0y7", this);} // tgen
+G24x0y7 ::G24x0y7(){ note_ctor("G24x0y7", this);} // tgen
+
+static void Test_G24x0y7()
+{
+ extern Class_Descriptor cd_G24x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x0y7, buf);
+ G24x0y7 *dp, &lv = *(dp=new (buf) G24x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x0y7)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x0*), ABISELECT(24,12), "G24x0y7");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x0*), ABISELECT(48,32), "G24x0y7");
+ check_base_class_offset(lv, (C24*)(E24x0*), ABISELECT(16,8), "G24x0y7");
+ check_base_class_offset(lv, (D1*)(E24x0*), ABISELECT(32,20), "G24x0y7");
+ check_base_class_offset(lv, (E24x0*), ABISELECT(16,8), "G24x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G24x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x0y7.ff");
+ test_class_info(&lv, &cd_G24x0y7);
+ dp->~G24x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x0y7(Test_G24x0y7, "G24x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x0y7C1Ev();
+extern void _ZN7G24x0y7D1Ev();
+Name_Map name_map_G24x0y7[] = {
+ NSPAIR(_ZN7G24x0y7C1Ev),
+ NSPAIR(_ZN7G24x0y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x0;
+extern VTBL_ENTRY _ZTI5E24x0[];
+extern VTBL_ENTRY _ZTV5E24x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x0y7[] = {
+ // 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_C24, 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_E24x0, 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 _ZTI7G24x0y7[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x0y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x0__7G24x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x0__7G24x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x0y7[] = {
+ {&(_ZTV7G24x0y7[5]), 5,13},
+ {&(_ZTV7G24x0y7[9]), 9,13},
+ {&(_ZTV7G24x0y7[12]), 12,13},
+ {&(_tg__ZTV5E24x0__7G24x0y7[3]), 3,4},
+ {&(_tg__ZTV3C245E24x0__7G24x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x0y7[];
+extern VTBL_ENTRY _ZTV7G24x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x0y7[];
+Class_Descriptor cd_G24x0y7 = { "G24x0y7", // class name
+ bases_G24x0y7, 6,
+ &(vtc_G24x0y7[0]), // expected_vtbl_contents
+ &(vtt_G24x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x0y7),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 E25x0 : C25 , D1 {
+ int fd;
+ ~E25x0(); // tgen
+ E25x0(); // tgen
+};
+//SIG(-1 E25x0) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E25x0 ::~E25x0(){ note_dtor("E25x0", this);} // tgen
+E25x0 ::E25x0(){ note_ctor("E25x0", this);} // tgen
+
+static void Test_E25x0()
+{
+ extern Class_Descriptor cd_E25x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E25x0, buf);
+ E25x0 *dp, &lv = *(dp=new (buf) E25x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E25x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x0)");
+ check_base_class_offset(lv, (A1*)(C25*), 0, "E25x0");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "E25x0");
+ check_base_class_offset(lv, (C25*), 0, "E25x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E25x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E25x0.fd");
+ test_class_info(&lv, &cd_E25x0);
+ dp->~E25x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x0(Test_E25x0, "E25x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E25x0C1Ev();
+extern void _ZN5E25x0D1Ev();
+Name_Map name_map_E25x0[] = {
+ NSPAIR(_ZN5E25x0C1Ev),
+ NSPAIR(_ZN5E25x0D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E25x0[] = {
+ // 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_C25, 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 _ZTI5E25x0[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E25x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x0[] = {
+ {&(_ZTV5E25x0[3]), 3,7},
+ {&(_tg__ZTV3C25__5E25x0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+Class_Descriptor cd_E25x0 = { "E25x0", // class name
+ bases_E25x0, 4,
+ &(vtc_E25x0[0]), // expected_vtbl_contents
+ &(vtt_E25x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E25x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x0),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 G25x0y0 : E25x0 , F1 {
+ int ff;
+ ~G25x0y0(); // tgen
+ G25x0y0(); // tgen
+};
+//SIG(1 G25x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x0y0 ::~G25x0y0(){ note_dtor("G25x0y0", this);} // tgen
+G25x0y0 ::G25x0y0(){ note_ctor("G25x0y0", this);} // tgen
+
+static void Test_G25x0y0()
+{
+ extern Class_Descriptor cd_G25x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x0y0, buf);
+ G25x0y0 *dp, &lv = *(dp=new (buf) G25x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y0)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), 0, "G25x0y0");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(48,36), "G25x0y0");
+ check_base_class_offset(lv, (C25*)(E25x0*), 0, "G25x0y0");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(16,12), "G25x0y0");
+ check_base_class_offset(lv, (E25x0*), 0, "G25x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G25x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G25x0y0.ff");
+ test_class_info(&lv, &cd_G25x0y0);
+ dp->~G25x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y0(Test_G25x0y0, "G25x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y0C1Ev();
+extern void _ZN7G25x0y0D1Ev();
+Name_Map name_map_G25x0y0[] = {
+ NSPAIR(_ZN7G25x0y0C1Ev),
+ NSPAIR(_ZN7G25x0y0D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x0y0[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y0[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y0[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y0[] = {
+ {&(_ZTV7G25x0y0[3]), 3,10},
+ {&(_tg__ZTV5E25x0__7G25x0y0[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y0[];
+extern VTBL_ENTRY _ZTV7G25x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y0[];
+Class_Descriptor cd_G25x0y0 = { "G25x0y0", // class name
+ bases_G25x0y0, 6,
+ &(vtc_G25x0y0[0]), // expected_vtbl_contents
+ &(vtt_G25x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y0),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 G25x0y1 : virtual E25x0 , F1 {
+ int ff;
+ ~G25x0y1(); // tgen
+ G25x0y1(); // tgen
+};
+//SIG(1 G25x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x0y1 ::~G25x0y1(){ note_dtor("G25x0y1", this);} // tgen
+G25x0y1 ::G25x0y1(){ note_ctor("G25x0y1", this);} // tgen
+
+static void Test_G25x0y1()
+{
+ extern Class_Descriptor cd_G25x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x0y1, buf);
+ G25x0y1 *dp, &lv = *(dp=new (buf) G25x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y1)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), ABISELECT(16,12), "G25x0y1");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(48,36), "G25x0y1");
+ check_base_class_offset(lv, (C25*)(E25x0*), ABISELECT(16,12), "G25x0y1");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(32,24), "G25x0y1");
+ check_base_class_offset(lv, (E25x0*), ABISELECT(16,12), "G25x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x0y1.ff");
+ test_class_info(&lv, &cd_G25x0y1);
+ dp->~G25x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y1(Test_G25x0y1, "G25x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y1C1Ev();
+extern void _ZN7G25x0y1D1Ev();
+Name_Map name_map_G25x0y1[] = {
+ NSPAIR(_ZN7G25x0y1C1Ev),
+ NSPAIR(_ZN7G25x0y1D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x0y1[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y1[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y1[] = {
+ {&(_ZTV7G25x0y1[4]), 4,13},
+ {&(_ZTV7G25x0y1[9]), 9,13},
+ {&(_ZTV7G25x0y1[12]), 12,13},
+ {&(_tg__ZTV5E25x0__7G25x0y1[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y1[];
+extern VTBL_ENTRY _ZTV7G25x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y1[];
+Class_Descriptor cd_G25x0y1 = { "G25x0y1", // class name
+ bases_G25x0y1, 6,
+ &(vtc_G25x0y1[0]), // expected_vtbl_contents
+ &(vtt_G25x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y1),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 G25x0y2 : E25x0 , virtual F1 {
+ int ff;
+ ~G25x0y2(); // tgen
+ G25x0y2(); // tgen
+};
+//SIG(1 G25x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x0y2 ::~G25x0y2(){ note_dtor("G25x0y2", this);} // tgen
+G25x0y2 ::G25x0y2(){ note_ctor("G25x0y2", this);} // tgen
+
+static void Test_G25x0y2()
+{
+ extern Class_Descriptor cd_G25x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x0y2, buf);
+ G25x0y2 *dp, &lv = *(dp=new (buf) G25x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y2)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), 0, "G25x0y2");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(36,28), "G25x0y2");
+ check_base_class_offset(lv, (C25*)(E25x0*), 0, "G25x0y2");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(16,12), "G25x0y2");
+ check_base_class_offset(lv, (E25x0*), 0, "G25x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G25x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G25x0y2.ff");
+ test_class_info(&lv, &cd_G25x0y2);
+ dp->~G25x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y2(Test_G25x0y2, "G25x0y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y2C1Ev();
+extern void _ZN7G25x0y2D1Ev();
+Name_Map name_map_G25x0y2[] = {
+ NSPAIR(_ZN7G25x0y2C1Ev),
+ NSPAIR(_ZN7G25x0y2D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x0y2[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x0y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y2[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y2[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y2[] = {
+ {&(_ZTV7G25x0y2[4]), 4,12},
+ {&(_tg__ZTV5E25x0__7G25x0y2[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y2[3]), 3,4},
+ {&(_ZTV7G25x0y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G25x0y2[];
+extern VTBL_ENTRY _ZTV7G25x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y2[];
+Class_Descriptor cd_G25x0y2 = { "G25x0y2", // class name
+ bases_G25x0y2, 6,
+ &(vtc_G25x0y2[0]), // expected_vtbl_contents
+ &(vtt_G25x0y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y2),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 G25x0y3 : virtual E25x0 , virtual F1 {
+ int ff;
+ ~G25x0y3(); // tgen
+ G25x0y3(); // tgen
+};
+//SIG(1 G25x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x0y3 ::~G25x0y3(){ note_dtor("G25x0y3", this);} // tgen
+G25x0y3 ::G25x0y3(){ note_ctor("G25x0y3", this);} // tgen
+
+static void Test_G25x0y3()
+{
+ extern Class_Descriptor cd_G25x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x0y3, buf);
+ G25x0y3 *dp, &lv = *(dp=new (buf) G25x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y3)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), ABISELECT(16,8), "G25x0y3");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(48,32), "G25x0y3");
+ check_base_class_offset(lv, (C25*)(E25x0*), ABISELECT(16,8), "G25x0y3");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(32,20), "G25x0y3");
+ check_base_class_offset(lv, (E25x0*), ABISELECT(16,8), "G25x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x0y3.ff");
+ test_class_info(&lv, &cd_G25x0y3);
+ dp->~G25x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y3(Test_G25x0y3, "G25x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y3C1Ev();
+extern void _ZN7G25x0y3D1Ev();
+Name_Map name_map_G25x0y3[] = {
+ NSPAIR(_ZN7G25x0y3C1Ev),
+ NSPAIR(_ZN7G25x0y3D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x0y3[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y3[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y3[] = {
+ {&(_ZTV7G25x0y3[5]), 5,17},
+ {&(_ZTV7G25x0y3[9]), 9,17},
+ {&(_ZTV7G25x0y3[12]), 12,17},
+ {&(_ZTV7G25x0y3[16]), 16,17},
+ {&(_tg__ZTV5E25x0__7G25x0y3[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y3[];
+extern VTBL_ENTRY _ZTV7G25x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y3[];
+Class_Descriptor cd_G25x0y3 = { "G25x0y3", // class name
+ bases_G25x0y3, 6,
+ &(vtc_G25x0y3[0]), // expected_vtbl_contents
+ &(vtt_G25x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y3),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 G25x0y4 : E25x0 , F0 {
+ int ff;
+ ~G25x0y4(); // tgen
+ G25x0y4(); // tgen
+};
+//SIG(1 G25x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x0y4 ::~G25x0y4(){ note_dtor("G25x0y4", this);} // tgen
+G25x0y4 ::G25x0y4(){ note_ctor("G25x0y4", this);} // tgen
+
+static void Test_G25x0y4()
+{
+ extern Class_Descriptor cd_G25x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x0y4, buf);
+ G25x0y4 *dp, &lv = *(dp=new (buf) G25x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y4)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), 0, "G25x0y4");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(40,32), "G25x0y4");
+ check_base_class_offset(lv, (C25*)(E25x0*), 0, "G25x0y4");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(16,12), "G25x0y4");
+ check_base_class_offset(lv, (E25x0*), 0, "G25x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G25x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G25x0y4.ff");
+ test_class_info(&lv, &cd_G25x0y4);
+ dp->~G25x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y4(Test_G25x0y4, "G25x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y4C1Ev();
+extern void _ZN7G25x0y4D1Ev();
+Name_Map name_map_G25x0y4[] = {
+ NSPAIR(_ZN7G25x0y4C1Ev),
+ NSPAIR(_ZN7G25x0y4D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x0y4[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y4[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y4[] = {
+ {&(_ZTV7G25x0y4[3]), 3,7},
+ {&(_tg__ZTV5E25x0__7G25x0y4[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y4[];
+extern VTBL_ENTRY _ZTV7G25x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y4[];
+Class_Descriptor cd_G25x0y4 = { "G25x0y4", // class name
+ bases_G25x0y4, 6,
+ &(vtc_G25x0y4[0]), // expected_vtbl_contents
+ &(vtt_G25x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y4),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 G25x0y5 : virtual E25x0 , F0 {
+ int ff;
+ ~G25x0y5(); // tgen
+ G25x0y5(); // tgen
+};
+//SIG(1 G25x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x0y5 ::~G25x0y5(){ note_dtor("G25x0y5", this);} // tgen
+G25x0y5 ::G25x0y5(){ note_ctor("G25x0y5", this);} // tgen
+
+static void Test_G25x0y5()
+{
+ extern Class_Descriptor cd_G25x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x0y5, buf);
+ G25x0y5 *dp, &lv = *(dp=new (buf) G25x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y5)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), ABISELECT(16,12), "G25x0y5");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(48,36), "G25x0y5");
+ check_base_class_offset(lv, (C25*)(E25x0*), ABISELECT(16,12), "G25x0y5");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(32,24), "G25x0y5");
+ check_base_class_offset(lv, (E25x0*), ABISELECT(16,12), "G25x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x0y5.ff");
+ test_class_info(&lv, &cd_G25x0y5);
+ dp->~G25x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y5(Test_G25x0y5, "G25x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y5C1Ev();
+extern void _ZN7G25x0y5D1Ev();
+Name_Map name_map_G25x0y5[] = {
+ NSPAIR(_ZN7G25x0y5C1Ev),
+ NSPAIR(_ZN7G25x0y5D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x0y5[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y5[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y5[] = {
+ {&(_ZTV7G25x0y5[4]), 4,12},
+ {&(_ZTV7G25x0y5[8]), 8,12},
+ {&(_ZTV7G25x0y5[11]), 11,12},
+ {&(_tg__ZTV5E25x0__7G25x0y5[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y5[];
+extern VTBL_ENTRY _ZTV7G25x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y5[];
+Class_Descriptor cd_G25x0y5 = { "G25x0y5", // class name
+ bases_G25x0y5, 6,
+ &(vtc_G25x0y5[0]), // expected_vtbl_contents
+ &(vtt_G25x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y5),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 G25x0y6 : E25x0 , virtual F0 {
+ int ff;
+ ~G25x0y6(); // tgen
+ G25x0y6(); // tgen
+};
+//SIG(1 G25x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x0y6 ::~G25x0y6(){ note_dtor("G25x0y6", this);} // tgen
+G25x0y6 ::G25x0y6(){ note_ctor("G25x0y6", this);} // tgen
+
+static void Test_G25x0y6()
+{
+ extern Class_Descriptor cd_G25x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x0y6, buf);
+ G25x0y6 *dp, &lv = *(dp=new (buf) G25x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y6)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), 0, "G25x0y6");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(36,28), "G25x0y6");
+ check_base_class_offset(lv, (C25*)(E25x0*), 0, "G25x0y6");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(16,12), "G25x0y6");
+ check_base_class_offset(lv, (E25x0*), 0, "G25x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G25x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G25x0y6.ff");
+ test_class_info(&lv, &cd_G25x0y6);
+ dp->~G25x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y6(Test_G25x0y6, "G25x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y6C1Ev();
+extern void _ZN7G25x0y6D1Ev();
+Name_Map name_map_G25x0y6[] = {
+ NSPAIR(_ZN7G25x0y6C1Ev),
+ NSPAIR(_ZN7G25x0y6D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x0y6[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y6[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x0y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y6[] = {
+ ABISELECT(36,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y6[] = {
+ {&(_ZTV7G25x0y6[4]), 4,8},
+ {&(_tg__ZTV5E25x0__7G25x0y6[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y6[];
+extern VTBL_ENTRY _ZTV7G25x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y6[];
+Class_Descriptor cd_G25x0y6 = { "G25x0y6", // class name
+ bases_G25x0y6, 6,
+ &(vtc_G25x0y6[0]), // expected_vtbl_contents
+ &(vtt_G25x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y6),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 G25x0y7 : virtual E25x0 , virtual F0 {
+ int ff;
+ ~G25x0y7(); // tgen
+ G25x0y7(); // tgen
+};
+//SIG(1 G25x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x0y7 ::~G25x0y7(){ note_dtor("G25x0y7", this);} // tgen
+G25x0y7 ::G25x0y7(){ note_ctor("G25x0y7", this);} // tgen
+
+static void Test_G25x0y7()
+{
+ extern Class_Descriptor cd_G25x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x0y7, buf);
+ G25x0y7 *dp, &lv = *(dp=new (buf) G25x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x0y7)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x0*), ABISELECT(16,8), "G25x0y7");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x0*), ABISELECT(48,32), "G25x0y7");
+ check_base_class_offset(lv, (C25*)(E25x0*), ABISELECT(16,8), "G25x0y7");
+ check_base_class_offset(lv, (D1*)(E25x0*), ABISELECT(32,20), "G25x0y7");
+ check_base_class_offset(lv, (E25x0*), ABISELECT(16,8), "G25x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G25x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x0y7.ff");
+ test_class_info(&lv, &cd_G25x0y7);
+ dp->~G25x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x0y7(Test_G25x0y7, "G25x0y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x0y7C1Ev();
+extern void _ZN7G25x0y7D1Ev();
+Name_Map name_map_G25x0y7[] = {
+ NSPAIR(_ZN7G25x0y7C1Ev),
+ NSPAIR(_ZN7G25x0y7D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x0;
+extern VTBL_ENTRY _ZTI5E25x0[];
+extern VTBL_ENTRY _ZTV5E25x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x0y7[] = {
+ // 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_C25, 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_E25x0, 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 _ZTI7G25x0y7[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x0y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x0y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x0__7G25x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x0__7G25x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x0y7[] = {
+ {&(_ZTV7G25x0y7[5]), 5,13},
+ {&(_ZTV7G25x0y7[9]), 9,13},
+ {&(_ZTV7G25x0y7[12]), 12,13},
+ {&(_tg__ZTV5E25x0__7G25x0y7[3]), 3,4},
+ {&(_tg__ZTV3C255E25x0__7G25x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x0y7[];
+extern VTBL_ENTRY _ZTV7G25x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x0y7[];
+Class_Descriptor cd_G25x0y7 = { "G25x0y7", // class name
+ bases_G25x0y7, 6,
+ &(vtc_G25x0y7[0]), // expected_vtbl_contents
+ &(vtt_G25x0y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x0y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x0y7),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 E26x0 : C26 , D1 {
+ int fd;
+ ~E26x0(); // tgen
+ E26x0(); // tgen
+};
+//SIG(-1 E26x0) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E26x0 ::~E26x0(){ note_dtor("E26x0", this);} // tgen
+E26x0 ::E26x0(){ note_ctor("E26x0", this);} // tgen
+
+static void Test_E26x0()
+{
+ extern Class_Descriptor cd_E26x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E26x0, buf);
+ E26x0 *dp, &lv = *(dp=new (buf) E26x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E26x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x0)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(32,20), "E26x0");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(36,24), "E26x0");
+ check_base_class_offset(lv, (C26*), 0, "E26x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E26x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E26x0.fd");
+ test_class_info(&lv, &cd_E26x0);
+ dp->~E26x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x0(Test_E26x0, "E26x0", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E26x0C1Ev();
+extern void _ZN5E26x0D1Ev();
+Name_Map name_map_E26x0[] = {
+ NSPAIR(_ZN5E26x0C1Ev),
+ NSPAIR(_ZN5E26x0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E26x0[] = {
+ // 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_C26, 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 _ZTI5E26x0[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E26x0[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x0[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x0[] = {
+ {&(_ZTV5E26x0[4]), 4,8},
+ {&(_tg__ZTV3C26__5E26x0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+Class_Descriptor cd_E26x0 = { "E26x0", // class name
+ bases_E26x0, 4,
+ &(vtc_E26x0[0]), // expected_vtbl_contents
+ &(vtt_E26x0[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E26x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x0),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 G26x0y0 : E26x0 , F1 {
+ int ff;
+ ~G26x0y0(); // tgen
+ G26x0y0(); // tgen
+};
+//SIG(1 G26x0y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x0y0 ::~G26x0y0(){ note_dtor("G26x0y0", this);} // tgen
+G26x0y0 ::G26x0y0(){ note_ctor("G26x0y0", this);} // tgen
+
+static void Test_G26x0y0()
+{
+ extern Class_Descriptor cd_G26x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x0y0, buf);
+ G26x0y0 *dp, &lv = *(dp=new (buf) G26x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y0)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(48,32), "G26x0y0");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(52,36), "G26x0y0");
+ check_base_class_offset(lv, (C26*)(E26x0*), 0, "G26x0y0");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(16,8), "G26x0y0");
+ check_base_class_offset(lv, (E26x0*), 0, "G26x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G26x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G26x0y0.ff");
+ test_class_info(&lv, &cd_G26x0y0);
+ dp->~G26x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y0(Test_G26x0y0, "G26x0y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y0C1Ev();
+extern void _ZN7G26x0y0D1Ev();
+Name_Map name_map_G26x0y0[] = {
+ NSPAIR(_ZN7G26x0y0C1Ev),
+ NSPAIR(_ZN7G26x0y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x0y0[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y0[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y0[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y0[] = {
+ {&(_ZTV7G26x0y0[4]), 4,11},
+ {&(_tg__ZTV5E26x0__7G26x0y0[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y0[];
+extern VTBL_ENTRY _ZTV7G26x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y0[];
+Class_Descriptor cd_G26x0y0 = { "G26x0y0", // class name
+ bases_G26x0y0, 6,
+ &(vtc_G26x0y0[0]), // expected_vtbl_contents
+ &(vtt_G26x0y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y0),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 G26x0y1 : virtual E26x0 , F1 {
+ int ff;
+ ~G26x0y1(); // tgen
+ G26x0y1(); // tgen
+};
+//SIG(1 G26x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x0y1 ::~G26x0y1(){ note_dtor("G26x0y1", this);} // tgen
+G26x0y1 ::G26x0y1(){ note_ctor("G26x0y1", this);} // tgen
+
+static void Test_G26x0y1()
+{
+ extern Class_Descriptor cd_G26x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x0y1, buf);
+ G26x0y1 *dp, &lv = *(dp=new (buf) G26x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y1)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(48,32), "G26x0y1");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(52,36), "G26x0y1");
+ check_base_class_offset(lv, (C26*)(E26x0*), ABISELECT(16,12), "G26x0y1");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(32,20), "G26x0y1");
+ check_base_class_offset(lv, (E26x0*), ABISELECT(16,12), "G26x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x0y1.ff");
+ test_class_info(&lv, &cd_G26x0y1);
+ dp->~G26x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y1(Test_G26x0y1, "G26x0y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y1C1Ev();
+extern void _ZN7G26x0y1D1Ev();
+Name_Map name_map_G26x0y1[] = {
+ NSPAIR(_ZN7G26x0y1C1Ev),
+ NSPAIR(_ZN7G26x0y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x0y1[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x0y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y1[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y1[] = {
+ {&(_ZTV7G26x0y1[5]), 5,15},
+ {&(_ZTV7G26x0y1[11]), 11,15},
+ {&(_ZTV7G26x0y1[14]), 14,15},
+ {&(_tg__ZTV5E26x0__7G26x0y1[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y1[];
+extern VTBL_ENTRY _ZTV7G26x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y1[];
+Class_Descriptor cd_G26x0y1 = { "G26x0y1", // class name
+ bases_G26x0y1, 6,
+ &(vtc_G26x0y1[0]), // expected_vtbl_contents
+ &(vtt_G26x0y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y1),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 G26x0y2 : E26x0 , virtual F1 {
+ int ff;
+ ~G26x0y2(); // tgen
+ G26x0y2(); // tgen
+};
+//SIG(1 G26x0y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x0y2 ::~G26x0y2(){ note_dtor("G26x0y2", this);} // tgen
+G26x0y2 ::G26x0y2(){ note_ctor("G26x0y2", this);} // tgen
+
+static void Test_G26x0y2()
+{
+ extern Class_Descriptor cd_G26x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x0y2, buf);
+ G26x0y2 *dp, &lv = *(dp=new (buf) G26x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y2)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(36,24), "G26x0y2");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(40,28), "G26x0y2");
+ check_base_class_offset(lv, (C26*)(E26x0*), 0, "G26x0y2");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(16,8), "G26x0y2");
+ check_base_class_offset(lv, (E26x0*), 0, "G26x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G26x0y2.ff");
+ test_class_info(&lv, &cd_G26x0y2);
+ dp->~G26x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y2(Test_G26x0y2, "G26x0y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y2C1Ev();
+extern void _ZN7G26x0y2D1Ev();
+Name_Map name_map_G26x0y2[] = {
+ NSPAIR(_ZN7G26x0y2C1Ev),
+ NSPAIR(_ZN7G26x0y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x0y2[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x0y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y2[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y2[] = {
+ {&(_ZTV7G26x0y2[5]), 5,13},
+ {&(_tg__ZTV5E26x0__7G26x0y2[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y2[4]), 4,5},
+ {&(_ZTV7G26x0y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G26x0y2[];
+extern VTBL_ENTRY _ZTV7G26x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y2[];
+Class_Descriptor cd_G26x0y2 = { "G26x0y2", // class name
+ bases_G26x0y2, 6,
+ &(vtc_G26x0y2[0]), // expected_vtbl_contents
+ &(vtt_G26x0y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y2),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 G26x0y3 : virtual E26x0 , virtual F1 {
+ int ff;
+ ~G26x0y3(); // tgen
+ G26x0y3(); // tgen
+};
+//SIG(1 G26x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x0y3 ::~G26x0y3(){ note_dtor("G26x0y3", this);} // tgen
+G26x0y3 ::G26x0y3(){ note_ctor("G26x0y3", this);} // tgen
+
+static void Test_G26x0y3()
+{
+ extern Class_Descriptor cd_G26x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x0y3, buf);
+ G26x0y3 *dp, &lv = *(dp=new (buf) G26x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y3)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(48,28), "G26x0y3");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(52,32), "G26x0y3");
+ check_base_class_offset(lv, (C26*)(E26x0*), ABISELECT(16,8), "G26x0y3");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(32,16), "G26x0y3");
+ check_base_class_offset(lv, (E26x0*), ABISELECT(16,8), "G26x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x0y3.ff");
+ test_class_info(&lv, &cd_G26x0y3);
+ dp->~G26x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y3(Test_G26x0y3, "G26x0y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y3C1Ev();
+extern void _ZN7G26x0y3D1Ev();
+Name_Map name_map_G26x0y3[] = {
+ NSPAIR(_ZN7G26x0y3C1Ev),
+ NSPAIR(_ZN7G26x0y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x0y3[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x0y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y3[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y3[] = {
+ {&(_ZTV7G26x0y3[6]), 6,19},
+ {&(_ZTV7G26x0y3[11]), 11,19},
+ {&(_ZTV7G26x0y3[14]), 14,19},
+ {&(_ZTV7G26x0y3[18]), 18,19},
+ {&(_tg__ZTV5E26x0__7G26x0y3[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y3[];
+extern VTBL_ENTRY _ZTV7G26x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y3[];
+Class_Descriptor cd_G26x0y3 = { "G26x0y3", // class name
+ bases_G26x0y3, 6,
+ &(vtc_G26x0y3[0]), // expected_vtbl_contents
+ &(vtt_G26x0y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y3),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 G26x0y4 : E26x0 , F0 {
+ int ff;
+ ~G26x0y4(); // tgen
+ G26x0y4(); // tgen
+};
+//SIG(1 G26x0y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x0y4 ::~G26x0y4(){ note_dtor("G26x0y4", this);} // tgen
+G26x0y4 ::G26x0y4(){ note_ctor("G26x0y4", this);} // tgen
+
+static void Test_G26x0y4()
+{
+ extern Class_Descriptor cd_G26x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x0y4, buf);
+ G26x0y4 *dp, &lv = *(dp=new (buf) G26x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y4)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(40,28), "G26x0y4");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(44,32), "G26x0y4");
+ check_base_class_offset(lv, (C26*)(E26x0*), 0, "G26x0y4");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(16,8), "G26x0y4");
+ check_base_class_offset(lv, (E26x0*), 0, "G26x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G26x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G26x0y4.ff");
+ test_class_info(&lv, &cd_G26x0y4);
+ dp->~G26x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y4(Test_G26x0y4, "G26x0y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y4C1Ev();
+extern void _ZN7G26x0y4D1Ev();
+Name_Map name_map_G26x0y4[] = {
+ NSPAIR(_ZN7G26x0y4C1Ev),
+ NSPAIR(_ZN7G26x0y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x0y4[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y4[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y4[] = {
+ {&(_ZTV7G26x0y4[4]), 4,8},
+ {&(_tg__ZTV5E26x0__7G26x0y4[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y4[];
+extern VTBL_ENTRY _ZTV7G26x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y4[];
+Class_Descriptor cd_G26x0y4 = { "G26x0y4", // class name
+ bases_G26x0y4, 6,
+ &(vtc_G26x0y4[0]), // expected_vtbl_contents
+ &(vtt_G26x0y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y4),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 G26x0y5 : virtual E26x0 , F0 {
+ int ff;
+ ~G26x0y5(); // tgen
+ G26x0y5(); // tgen
+};
+//SIG(1 G26x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x0y5 ::~G26x0y5(){ note_dtor("G26x0y5", this);} // tgen
+G26x0y5 ::G26x0y5(){ note_ctor("G26x0y5", this);} // tgen
+
+static void Test_G26x0y5()
+{
+ extern Class_Descriptor cd_G26x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x0y5, buf);
+ G26x0y5 *dp, &lv = *(dp=new (buf) G26x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y5)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(48,32), "G26x0y5");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(52,36), "G26x0y5");
+ check_base_class_offset(lv, (C26*)(E26x0*), ABISELECT(16,12), "G26x0y5");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(32,20), "G26x0y5");
+ check_base_class_offset(lv, (E26x0*), ABISELECT(16,12), "G26x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x0y5.ff");
+ test_class_info(&lv, &cd_G26x0y5);
+ dp->~G26x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y5(Test_G26x0y5, "G26x0y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y5C1Ev();
+extern void _ZN7G26x0y5D1Ev();
+Name_Map name_map_G26x0y5[] = {
+ NSPAIR(_ZN7G26x0y5C1Ev),
+ NSPAIR(_ZN7G26x0y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x0y5[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y5[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x0y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y5[] = {
+ {&(_ZTV7G26x0y5[5]), 5,14},
+ {&(_ZTV7G26x0y5[10]), 10,14},
+ {&(_ZTV7G26x0y5[13]), 13,14},
+ {&(_tg__ZTV5E26x0__7G26x0y5[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y5[];
+extern VTBL_ENTRY _ZTV7G26x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y5[];
+Class_Descriptor cd_G26x0y5 = { "G26x0y5", // class name
+ bases_G26x0y5, 6,
+ &(vtc_G26x0y5[0]), // expected_vtbl_contents
+ &(vtt_G26x0y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y5),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 G26x0y6 : E26x0 , virtual F0 {
+ int ff;
+ ~G26x0y6(); // tgen
+ G26x0y6(); // tgen
+};
+//SIG(1 G26x0y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x0y6 ::~G26x0y6(){ note_dtor("G26x0y6", this);} // tgen
+G26x0y6 ::G26x0y6(){ note_ctor("G26x0y6", this);} // tgen
+
+static void Test_G26x0y6()
+{
+ extern Class_Descriptor cd_G26x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x0y6, buf);
+ G26x0y6 *dp, &lv = *(dp=new (buf) G26x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y6)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(36,24), "G26x0y6");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(40,28), "G26x0y6");
+ check_base_class_offset(lv, (C26*)(E26x0*), 0, "G26x0y6");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(16,8), "G26x0y6");
+ check_base_class_offset(lv, (E26x0*), 0, "G26x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G26x0y6.ff");
+ test_class_info(&lv, &cd_G26x0y6);
+ dp->~G26x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y6(Test_G26x0y6, "G26x0y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y6C1Ev();
+extern void _ZN7G26x0y6D1Ev();
+Name_Map name_map_G26x0y6[] = {
+ NSPAIR(_ZN7G26x0y6C1Ev),
+ NSPAIR(_ZN7G26x0y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x0y6[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y6[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x0y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y6[] = {
+ {&(_ZTV7G26x0y6[5]), 5,9},
+ {&(_tg__ZTV5E26x0__7G26x0y6[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y6[];
+extern VTBL_ENTRY _ZTV7G26x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y6[];
+Class_Descriptor cd_G26x0y6 = { "G26x0y6", // class name
+ bases_G26x0y6, 6,
+ &(vtc_G26x0y6[0]), // expected_vtbl_contents
+ &(vtt_G26x0y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y6),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 G26x0y7 : virtual E26x0 , virtual F0 {
+ int ff;
+ ~G26x0y7(); // tgen
+ G26x0y7(); // tgen
+};
+//SIG(1 G26x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x0y7 ::~G26x0y7(){ note_dtor("G26x0y7", this);} // tgen
+G26x0y7 ::G26x0y7(){ note_ctor("G26x0y7", this);} // tgen
+
+static void Test_G26x0y7()
+{
+ extern Class_Descriptor cd_G26x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x0y7, buf);
+ G26x0y7 *dp, &lv = *(dp=new (buf) G26x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x0y7)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x0*), ABISELECT(48,28), "G26x0y7");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x0*), ABISELECT(52,32), "G26x0y7");
+ check_base_class_offset(lv, (C26*)(E26x0*), ABISELECT(16,8), "G26x0y7");
+ check_base_class_offset(lv, (D1*)(E26x0*), ABISELECT(32,16), "G26x0y7");
+ check_base_class_offset(lv, (E26x0*), ABISELECT(16,8), "G26x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G26x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x0y7.ff");
+ test_class_info(&lv, &cd_G26x0y7);
+ dp->~G26x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x0y7(Test_G26x0y7, "G26x0y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x0y7C1Ev();
+extern void _ZN7G26x0y7D1Ev();
+Name_Map name_map_G26x0y7[] = {
+ NSPAIR(_ZN7G26x0y7C1Ev),
+ NSPAIR(_ZN7G26x0y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x0;
+extern VTBL_ENTRY _ZTI5E26x0[];
+extern VTBL_ENTRY _ZTV5E26x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x0y7[] = {
+ // 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_C26, 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_E26x0, 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 _ZTI7G26x0y7[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x0y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x0y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x0y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x0__7G26x0y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x0__7G26x0y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x0y7[] = {
+ {&(_ZTV7G26x0y7[6]), 6,15},
+ {&(_ZTV7G26x0y7[11]), 11,15},
+ {&(_ZTV7G26x0y7[14]), 14,15},
+ {&(_tg__ZTV5E26x0__7G26x0y7[4]), 4,5},
+ {&(_tg__ZTV3C265E26x0__7G26x0y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x0y7[];
+extern VTBL_ENTRY _ZTV7G26x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x0y7[];
+Class_Descriptor cd_G26x0y7 = { "G26x0y7", // class name
+ bases_G26x0y7, 6,
+ &(vtc_G26x0y7[0]), // expected_vtbl_contents
+ &(vtt_G26x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x0y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x0y7),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 E27x0 : C27 , D1 {
+ int fd;
+ ~E27x0(); // tgen
+ E27x0(); // tgen
+};
+//SIG(-1 E27x0) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E27x0 ::~E27x0(){ note_dtor("E27x0", this);} // tgen
+E27x0 ::E27x0(){ note_ctor("E27x0", this);} // tgen
+
+static void Test_E27x0()
+{
+ extern Class_Descriptor cd_E27x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E27x0, buf);
+ E27x0 *dp, &lv = *(dp=new (buf) E27x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E27x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x0)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "E27x0");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "E27x0");
+ check_base_class_offset(lv, (C27*), 0, "E27x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E27x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E27x0.fd");
+ test_class_info(&lv, &cd_E27x0);
+ dp->~E27x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x0(Test_E27x0, "E27x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E27x0C1Ev();
+extern void _ZN5E27x0D1Ev();
+Name_Map name_map_E27x0[] = {
+ NSPAIR(_ZN5E27x0C1Ev),
+ NSPAIR(_ZN5E27x0D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E27x0[] = {
+ // 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_C27, 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 _ZTI5E27x0[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E27x0[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x0[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__5E27x0[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x0[] = {
+ {&(_ZTV5E27x0[4]), 4,12},
+ {&(_tg__ZTV3C27__5E27x0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x0[3]), 3,4},
+ {&(_ZTV5E27x0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+static VTBL_ENTRY alt_thunk_names26[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E27x0 = { "E27x0", // class name
+ bases_E27x0, 4,
+ &(vtc_E27x0[0]), // expected_vtbl_contents
+ &(vtt_E27x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E27x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x0),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 G27x0y0 : E27x0 , F1 {
+ int ff;
+ ~G27x0y0(); // tgen
+ G27x0y0(); // tgen
+};
+//SIG(1 G27x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x0y0 ::~G27x0y0(){ note_dtor("G27x0y0", this);} // tgen
+G27x0y0 ::G27x0y0(){ note_ctor("G27x0y0", this);} // tgen
+
+static void Test_G27x0y0()
+{
+ extern Class_Descriptor cd_G27x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x0y0, buf);
+ G27x0y0 *dp, &lv = *(dp=new (buf) G27x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y0)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(48,32), "G27x0y0");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(60,40), "G27x0y0");
+ check_base_class_offset(lv, (C27*)(E27x0*), 0, "G27x0y0");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(16,8), "G27x0y0");
+ check_base_class_offset(lv, (E27x0*), 0, "G27x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G27x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G27x0y0.ff");
+ test_class_info(&lv, &cd_G27x0y0);
+ dp->~G27x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y0(Test_G27x0y0, "G27x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y0C1Ev();
+extern void _ZN7G27x0y0D1Ev();
+Name_Map name_map_G27x0y0[] = {
+ NSPAIR(_ZN7G27x0y0C1Ev),
+ NSPAIR(_ZN7G27x0y0D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x0y0[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y0[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y0[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y0[] = {
+ {&(_ZTV7G27x0y0[4]), 4,15},
+ {&(_tg__ZTV5E27x0__7G27x0y0[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y0[3]), 3,4},
+ {&(_ZTV7G27x0y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G27x0y0[];
+extern VTBL_ENTRY _ZTV7G27x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y0[];
+static VTBL_ENTRY alt_thunk_names27[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C273fooEv,_ZThn32_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y0 = { "G27x0y0", // class name
+ bases_G27x0y0, 6,
+ &(vtc_G27x0y0[0]), // expected_vtbl_contents
+ &(vtt_G27x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y0),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 G27x0y1 : virtual E27x0 , F1 {
+ int ff;
+ ~G27x0y1(); // tgen
+ G27x0y1(); // tgen
+};
+//SIG(1 G27x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x0y1 ::~G27x0y1(){ note_dtor("G27x0y1", this);} // tgen
+G27x0y1 ::G27x0y1(){ note_ctor("G27x0y1", this);} // tgen
+
+static void Test_G27x0y1()
+{
+ extern Class_Descriptor cd_G27x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x0y1, buf);
+ G27x0y1 *dp, &lv = *(dp=new (buf) G27x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y1)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(48,32), "G27x0y1");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(60,40), "G27x0y1");
+ check_base_class_offset(lv, (C27*)(E27x0*), ABISELECT(16,12), "G27x0y1");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(32,20), "G27x0y1");
+ check_base_class_offset(lv, (E27x0*), ABISELECT(16,12), "G27x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x0y1.ff");
+ test_class_info(&lv, &cd_G27x0y1);
+ dp->~G27x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y1(Test_G27x0y1, "G27x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y1C1Ev();
+extern void _ZN7G27x0y1D1Ev();
+Name_Map name_map_G27x0y1[] = {
+ NSPAIR(_ZN7G27x0y1C1Ev),
+ NSPAIR(_ZN7G27x0y1D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x0y1[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y1[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y1[] = {
+ {&(_ZTV7G27x0y1[5]), 5,19},
+ {&(_ZTV7G27x0y1[11]), 11,19},
+ {&(_ZTV7G27x0y1[18]), 18,19},
+ {&(_ZTV7G27x0y1[14]), 14,19},
+ {&(_tg__ZTV5E27x0__7G27x0y1[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x0y1[];
+extern VTBL_ENTRY _ZTV7G27x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y1[];
+static VTBL_ENTRY alt_thunk_names28[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y1 = { "G27x0y1", // class name
+ bases_G27x0y1, 6,
+ &(vtc_G27x0y1[0]), // expected_vtbl_contents
+ &(vtt_G27x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y1),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 G27x0y2 : E27x0 , virtual F1 {
+ int ff;
+ ~G27x0y2(); // tgen
+ G27x0y2(); // tgen
+};
+//SIG(1 G27x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x0y2 ::~G27x0y2(){ note_dtor("G27x0y2", this);} // tgen
+G27x0y2 ::G27x0y2(){ note_ctor("G27x0y2", this);} // tgen
+
+static void Test_G27x0y2()
+{
+ extern Class_Descriptor cd_G27x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x0y2, buf);
+ G27x0y2 *dp, &lv = *(dp=new (buf) G27x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y2)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(40,24), "G27x0y2");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(52,32), "G27x0y2");
+ check_base_class_offset(lv, (C27*)(E27x0*), 0, "G27x0y2");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(16,8), "G27x0y2");
+ check_base_class_offset(lv, (E27x0*), 0, "G27x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G27x0y2.ff");
+ test_class_info(&lv, &cd_G27x0y2);
+ dp->~G27x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y2(Test_G27x0y2, "G27x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y2C1Ev();
+extern void _ZN7G27x0y2D1Ev();
+Name_Map name_map_G27x0y2[] = {
+ NSPAIR(_ZN7G27x0y2C1Ev),
+ NSPAIR(_ZN7G27x0y2D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x0y2[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y2[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x0y2[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y2[] = {
+ {&(_ZTV7G27x0y2[5]), 5,17},
+ {&(_tg__ZTV5E27x0__7G27x0y2[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y2[3]), 3,4},
+ {&(_ZTV7G27x0y2[12]), 12,17},
+ {&(_ZTV7G27x0y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G27x0y2[];
+extern VTBL_ENTRY _ZTV7G27x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y2[];
+static VTBL_ENTRY alt_thunk_names29[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y2 = { "G27x0y2", // class name
+ bases_G27x0y2, 6,
+ &(vtc_G27x0y2[0]), // expected_vtbl_contents
+ &(vtt_G27x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y2),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 G27x0y3 : virtual E27x0 , virtual F1 {
+ int ff;
+ ~G27x0y3(); // tgen
+ G27x0y3(); // tgen
+};
+//SIG(1 G27x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x0y3 ::~G27x0y3(){ note_dtor("G27x0y3", this);} // tgen
+G27x0y3 ::G27x0y3(){ note_ctor("G27x0y3", this);} // tgen
+
+static void Test_G27x0y3()
+{
+ extern Class_Descriptor cd_G27x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x0y3, buf);
+ G27x0y3 *dp, &lv = *(dp=new (buf) G27x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y3)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(48,28), "G27x0y3");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(60,36), "G27x0y3");
+ check_base_class_offset(lv, (C27*)(E27x0*), ABISELECT(16,8), "G27x0y3");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(32,16), "G27x0y3");
+ check_base_class_offset(lv, (E27x0*), ABISELECT(16,8), "G27x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G27x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x0y3.ff");
+ test_class_info(&lv, &cd_G27x0y3);
+ dp->~G27x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y3(Test_G27x0y3, "G27x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y3C1Ev();
+extern void _ZN7G27x0y3D1Ev();
+Name_Map name_map_G27x0y3[] = {
+ NSPAIR(_ZN7G27x0y3C1Ev),
+ NSPAIR(_ZN7G27x0y3D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x0y3[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y3[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y3[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x0y3[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y3[] = {
+ {&(_ZTV7G27x0y3[6]), 6,23},
+ {&(_ZTV7G27x0y3[11]), 11,23},
+ {&(_ZTV7G27x0y3[18]), 18,23},
+ {&(_ZTV7G27x0y3[14]), 14,23},
+ {&(_ZTV7G27x0y3[22]), 22,23},
+ {&(_tg__ZTV5E27x0__7G27x0y3[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x0y3[];
+extern VTBL_ENTRY _ZTV7G27x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y3[];
+static VTBL_ENTRY alt_thunk_names30[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y3 = { "G27x0y3", // class name
+ bases_G27x0y3, 6,
+ &(vtc_G27x0y3[0]), // expected_vtbl_contents
+ &(vtt_G27x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y3),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 G27x0y4 : E27x0 , F0 {
+ int ff;
+ ~G27x0y4(); // tgen
+ G27x0y4(); // tgen
+};
+//SIG(1 G27x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x0y4 ::~G27x0y4(){ note_dtor("G27x0y4", this);} // tgen
+G27x0y4 ::G27x0y4(){ note_ctor("G27x0y4", this);} // tgen
+
+static void Test_G27x0y4()
+{
+ extern Class_Descriptor cd_G27x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x0y4, buf);
+ G27x0y4 *dp, &lv = *(dp=new (buf) G27x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y4)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(40,28), "G27x0y4");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(52,36), "G27x0y4");
+ check_base_class_offset(lv, (C27*)(E27x0*), 0, "G27x0y4");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(16,8), "G27x0y4");
+ check_base_class_offset(lv, (E27x0*), 0, "G27x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G27x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G27x0y4.ff");
+ test_class_info(&lv, &cd_G27x0y4);
+ dp->~G27x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y4(Test_G27x0y4, "G27x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y4C1Ev();
+extern void _ZN7G27x0y4D1Ev();
+Name_Map name_map_G27x0y4[] = {
+ NSPAIR(_ZN7G27x0y4C1Ev),
+ NSPAIR(_ZN7G27x0y4D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x0y4[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y4[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y4[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y4[] = {
+ {&(_ZTV7G27x0y4[4]), 4,12},
+ {&(_tg__ZTV5E27x0__7G27x0y4[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y4[3]), 3,4},
+ {&(_ZTV7G27x0y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G27x0y4[];
+extern VTBL_ENTRY _ZTV7G27x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y4[];
+static VTBL_ENTRY alt_thunk_names31[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y4 = { "G27x0y4", // class name
+ bases_G27x0y4, 6,
+ &(vtc_G27x0y4[0]), // expected_vtbl_contents
+ &(vtt_G27x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y4),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 G27x0y5 : virtual E27x0 , F0 {
+ int ff;
+ ~G27x0y5(); // tgen
+ G27x0y5(); // tgen
+};
+//SIG(1 G27x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x0y5 ::~G27x0y5(){ note_dtor("G27x0y5", this);} // tgen
+G27x0y5 ::G27x0y5(){ note_ctor("G27x0y5", this);} // tgen
+
+static void Test_G27x0y5()
+{
+ extern Class_Descriptor cd_G27x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x0y5, buf);
+ G27x0y5 *dp, &lv = *(dp=new (buf) G27x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y5)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(48,32), "G27x0y5");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(60,40), "G27x0y5");
+ check_base_class_offset(lv, (C27*)(E27x0*), ABISELECT(16,12), "G27x0y5");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(32,20), "G27x0y5");
+ check_base_class_offset(lv, (E27x0*), ABISELECT(16,12), "G27x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x0y5.ff");
+ test_class_info(&lv, &cd_G27x0y5);
+ dp->~G27x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y5(Test_G27x0y5, "G27x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y5C1Ev();
+extern void _ZN7G27x0y5D1Ev();
+Name_Map name_map_G27x0y5[] = {
+ NSPAIR(_ZN7G27x0y5C1Ev),
+ NSPAIR(_ZN7G27x0y5D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x0y5[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y5[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y5[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y5[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y5[] = {
+ {&(_ZTV7G27x0y5[5]), 5,18},
+ {&(_ZTV7G27x0y5[10]), 10,18},
+ {&(_ZTV7G27x0y5[17]), 17,18},
+ {&(_ZTV7G27x0y5[13]), 13,18},
+ {&(_tg__ZTV5E27x0__7G27x0y5[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x0y5[];
+extern VTBL_ENTRY _ZTV7G27x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y5[];
+static VTBL_ENTRY alt_thunk_names32[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y5 = { "G27x0y5", // class name
+ bases_G27x0y5, 6,
+ &(vtc_G27x0y5[0]), // expected_vtbl_contents
+ &(vtt_G27x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y5),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 G27x0y6 : E27x0 , virtual F0 {
+ int ff;
+ ~G27x0y6(); // tgen
+ G27x0y6(); // tgen
+};
+//SIG(1 G27x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x0y6 ::~G27x0y6(){ note_dtor("G27x0y6", this);} // tgen
+G27x0y6 ::G27x0y6(){ note_ctor("G27x0y6", this);} // tgen
+
+static void Test_G27x0y6()
+{
+ extern Class_Descriptor cd_G27x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x0y6, buf);
+ G27x0y6 *dp, &lv = *(dp=new (buf) G27x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y6)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(40,24), "G27x0y6");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(52,32), "G27x0y6");
+ check_base_class_offset(lv, (C27*)(E27x0*), 0, "G27x0y6");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(16,8), "G27x0y6");
+ check_base_class_offset(lv, (E27x0*), 0, "G27x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G27x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G27x0y6.ff");
+ test_class_info(&lv, &cd_G27x0y6);
+ dp->~G27x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y6(Test_G27x0y6, "G27x0y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y6C1Ev();
+extern void _ZN7G27x0y6D1Ev();
+Name_Map name_map_G27x0y6[] = {
+ NSPAIR(_ZN7G27x0y6C1Ev),
+ NSPAIR(_ZN7G27x0y6D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x0y6[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y6[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y6[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y6[] = {
+ {&(_ZTV7G27x0y6[5]), 5,13},
+ {&(_tg__ZTV5E27x0__7G27x0y6[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y6[3]), 3,4},
+ {&(_ZTV7G27x0y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G27x0y6[];
+extern VTBL_ENTRY _ZTV7G27x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y6[];
+static VTBL_ENTRY alt_thunk_names33[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C273fooEv,_ZThn24_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y6 = { "G27x0y6", // class name
+ bases_G27x0y6, 6,
+ &(vtc_G27x0y6[0]), // expected_vtbl_contents
+ &(vtt_G27x0y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y6),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 G27x0y7 : virtual E27x0 , virtual F0 {
+ int ff;
+ ~G27x0y7(); // tgen
+ G27x0y7(); // tgen
+};
+//SIG(1 G27x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x0y7 ::~G27x0y7(){ note_dtor("G27x0y7", this);} // tgen
+G27x0y7 ::G27x0y7(){ note_ctor("G27x0y7", this);} // tgen
+
+static void Test_G27x0y7()
+{
+ extern Class_Descriptor cd_G27x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x0y7, buf);
+ G27x0y7 *dp, &lv = *(dp=new (buf) G27x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x0y7)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x0*), ABISELECT(48,28), "G27x0y7");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x0*), ABISELECT(60,36), "G27x0y7");
+ check_base_class_offset(lv, (C27*)(E27x0*), ABISELECT(16,8), "G27x0y7");
+ check_base_class_offset(lv, (D1*)(E27x0*), ABISELECT(32,16), "G27x0y7");
+ check_base_class_offset(lv, (E27x0*), ABISELECT(16,8), "G27x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G27x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x0y7.ff");
+ test_class_info(&lv, &cd_G27x0y7);
+ dp->~G27x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x0y7(Test_G27x0y7, "G27x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x0y7C1Ev();
+extern void _ZN7G27x0y7D1Ev();
+Name_Map name_map_G27x0y7[] = {
+ NSPAIR(_ZN7G27x0y7C1Ev),
+ NSPAIR(_ZN7G27x0y7D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x0;
+extern VTBL_ENTRY _ZTI5E27x0[];
+extern VTBL_ENTRY _ZTV5E27x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x0y7[] = {
+ // 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_C27, 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_E27x0, 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 _ZTI7G27x0y7[];
+extern void _ZN3C273fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x0y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x0y7[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x0y7[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x0__7G27x0y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x0__7G27x0y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x0__7G27x0y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x0__7G27x0y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x0y7[] = {
+ {&(_ZTV7G27x0y7[6]), 6,19},
+ {&(_ZTV7G27x0y7[11]), 11,19},
+ {&(_ZTV7G27x0y7[18]), 18,19},
+ {&(_ZTV7G27x0y7[14]), 14,19},
+ {&(_tg__ZTV5E27x0__7G27x0y7[4]), 4,5},
+ {&(_tg__ZTV3C275E27x0__7G27x0y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x0__7G27x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x0__7G27x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x0y7[];
+extern VTBL_ENTRY _ZTV7G27x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x0y7[];
+static VTBL_ENTRY alt_thunk_names34[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x0y7 = { "G27x0y7", // class name
+ bases_G27x0y7, 6,
+ &(vtc_G27x0y7[0]), // expected_vtbl_contents
+ &(vtt_G27x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x0y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x0y7),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 E28x0 : C28 , D1 {
+ int fd;
+ ~E28x0(); // tgen
+ E28x0(); // tgen
+};
+//SIG(-1 E28x0) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E28x0 ::~E28x0(){ note_dtor("E28x0", this);} // tgen
+E28x0 ::E28x0(){ note_ctor("E28x0", this);} // tgen
+
+static void Test_E28x0()
+{
+ extern Class_Descriptor cd_E28x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E28x0, buf);
+ E28x0 *dp, &lv = *(dp=new (buf) E28x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E28x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x0)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(8,4), "E28x0");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "E28x0");
+ check_base_class_offset(lv, (C28*), 0, "E28x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E28x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E28x0.fd");
+ test_class_info(&lv, &cd_E28x0);
+ dp->~E28x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x0(Test_E28x0, "E28x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E28x0C1Ev();
+extern void _ZN5E28x0D1Ev();
+Name_Map name_map_E28x0[] = {
+ NSPAIR(_ZN5E28x0C1Ev),
+ NSPAIR(_ZN5E28x0D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E28x0[] = {
+ // 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_C28, 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 _ZTI5E28x0[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E28x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__5E28x0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x0[] = {
+ {&(_ZTV5E28x0[3]), 3,11},
+ {&(_tg__ZTV3C28__5E28x0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x0[3]), 3,4},
+ {&(_ZTV5E28x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+static VTBL_ENTRY alt_thunk_names35[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E28x0 = { "E28x0", // class name
+ bases_E28x0, 4,
+ &(vtc_E28x0[0]), // expected_vtbl_contents
+ &(vtt_E28x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E28x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x0),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 G28x0y0 : E28x0 , F1 {
+ int ff;
+ ~G28x0y0(); // tgen
+ G28x0y0(); // tgen
+};
+//SIG(1 G28x0y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x0y0 ::~G28x0y0(){ note_dtor("G28x0y0", this);} // tgen
+G28x0y0 ::G28x0y0(){ note_ctor("G28x0y0", this);} // tgen
+
+static void Test_G28x0y0()
+{
+ extern Class_Descriptor cd_G28x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x0y0, buf);
+ G28x0y0 *dp, &lv = *(dp=new (buf) G28x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y0)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(8,4), "G28x0y0");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(48,36), "G28x0y0");
+ check_base_class_offset(lv, (C28*)(E28x0*), 0, "G28x0y0");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(16,12), "G28x0y0");
+ check_base_class_offset(lv, (E28x0*), 0, "G28x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G28x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G28x0y0.ff");
+ test_class_info(&lv, &cd_G28x0y0);
+ dp->~G28x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y0(Test_G28x0y0, "G28x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y0C1Ev();
+extern void _ZN7G28x0y0D1Ev();
+Name_Map name_map_G28x0y0[] = {
+ NSPAIR(_ZN7G28x0y0C1Ev),
+ NSPAIR(_ZN7G28x0y0D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x0y0[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y0[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y0[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y0[] = {
+ {&(_ZTV7G28x0y0[3]), 3,14},
+ {&(_tg__ZTV5E28x0__7G28x0y0[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y0[3]), 3,4},
+ {&(_ZTV7G28x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G28x0y0[];
+extern VTBL_ENTRY _ZTV7G28x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y0[];
+static VTBL_ENTRY alt_thunk_names36[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C283fooEv,_ZThn36_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y0 = { "G28x0y0", // class name
+ bases_G28x0y0, 6,
+ &(vtc_G28x0y0[0]), // expected_vtbl_contents
+ &(vtt_G28x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y0),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 G28x0y1 : virtual E28x0 , F1 {
+ int ff;
+ ~G28x0y1(); // tgen
+ G28x0y1(); // tgen
+};
+//SIG(1 G28x0y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x0y1 ::~G28x0y1(){ note_dtor("G28x0y1", this);} // tgen
+G28x0y1 ::G28x0y1(){ note_ctor("G28x0y1", this);} // tgen
+
+static void Test_G28x0y1()
+{
+ extern Class_Descriptor cd_G28x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x0y1, buf);
+ G28x0y1 *dp, &lv = *(dp=new (buf) G28x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y1)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(24,16), "G28x0y1");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(48,36), "G28x0y1");
+ check_base_class_offset(lv, (C28*)(E28x0*), ABISELECT(16,12), "G28x0y1");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(32,24), "G28x0y1");
+ check_base_class_offset(lv, (E28x0*), ABISELECT(16,12), "G28x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x0y1.ff");
+ test_class_info(&lv, &cd_G28x0y1);
+ dp->~G28x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y1(Test_G28x0y1, "G28x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y1C1Ev();
+extern void _ZN7G28x0y1D1Ev();
+Name_Map name_map_G28x0y1[] = {
+ NSPAIR(_ZN7G28x0y1C1Ev),
+ NSPAIR(_ZN7G28x0y1D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x0y1[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y1[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y1[] = {
+ {&(_ZTV7G28x0y1[4]), 4,17},
+ {&(_ZTV7G28x0y1[9]), 9,17},
+ {&(_ZTV7G28x0y1[16]), 16,17},
+ {&(_ZTV7G28x0y1[12]), 12,17},
+ {&(_tg__ZTV5E28x0__7G28x0y1[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x0y1[];
+extern VTBL_ENTRY _ZTV7G28x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y1[];
+static VTBL_ENTRY alt_thunk_names37[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y1 = { "G28x0y1", // class name
+ bases_G28x0y1, 6,
+ &(vtc_G28x0y1[0]), // expected_vtbl_contents
+ &(vtt_G28x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y1),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 G28x0y2 : E28x0 , virtual F1 {
+ int ff;
+ ~G28x0y2(); // tgen
+ G28x0y2(); // tgen
+};
+//SIG(1 G28x0y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x0y2 ::~G28x0y2(){ note_dtor("G28x0y2", this);} // tgen
+G28x0y2 ::G28x0y2(){ note_ctor("G28x0y2", this);} // tgen
+
+static void Test_G28x0y2()
+{
+ extern Class_Descriptor cd_G28x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x0y2, buf);
+ G28x0y2 *dp, &lv = *(dp=new (buf) G28x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y2)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(8,4), "G28x0y2");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(40,28), "G28x0y2");
+ check_base_class_offset(lv, (C28*)(E28x0*), 0, "G28x0y2");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(16,12), "G28x0y2");
+ check_base_class_offset(lv, (E28x0*), 0, "G28x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G28x0y2.ff");
+ test_class_info(&lv, &cd_G28x0y2);
+ dp->~G28x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y2(Test_G28x0y2, "G28x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y2C1Ev();
+extern void _ZN7G28x0y2D1Ev();
+Name_Map name_map_G28x0y2[] = {
+ NSPAIR(_ZN7G28x0y2C1Ev),
+ NSPAIR(_ZN7G28x0y2D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x0y2[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y2[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x0y2[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y2[] = {
+ {&(_ZTV7G28x0y2[4]), 4,16},
+ {&(_tg__ZTV5E28x0__7G28x0y2[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y2[3]), 3,4},
+ {&(_ZTV7G28x0y2[11]), 11,16},
+ {&(_ZTV7G28x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G28x0y2[];
+extern VTBL_ENTRY _ZTV7G28x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y2[];
+static VTBL_ENTRY alt_thunk_names38[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y2 = { "G28x0y2", // class name
+ bases_G28x0y2, 6,
+ &(vtc_G28x0y2[0]), // expected_vtbl_contents
+ &(vtt_G28x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y2),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 G28x0y3 : virtual E28x0 , virtual F1 {
+ int ff;
+ ~G28x0y3(); // tgen
+ G28x0y3(); // tgen
+};
+//SIG(1 G28x0y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x0y3 ::~G28x0y3(){ note_dtor("G28x0y3", this);} // tgen
+G28x0y3 ::G28x0y3(){ note_ctor("G28x0y3", this);} // tgen
+
+static void Test_G28x0y3()
+{
+ extern Class_Descriptor cd_G28x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x0y3, buf);
+ G28x0y3 *dp, &lv = *(dp=new (buf) G28x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y3)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(24,12), "G28x0y3");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(48,32), "G28x0y3");
+ check_base_class_offset(lv, (C28*)(E28x0*), ABISELECT(16,8), "G28x0y3");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(32,20), "G28x0y3");
+ check_base_class_offset(lv, (E28x0*), ABISELECT(16,8), "G28x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G28x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x0y3.ff");
+ test_class_info(&lv, &cd_G28x0y3);
+ dp->~G28x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y3(Test_G28x0y3, "G28x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y3C1Ev();
+extern void _ZN7G28x0y3D1Ev();
+Name_Map name_map_G28x0y3[] = {
+ NSPAIR(_ZN7G28x0y3C1Ev),
+ NSPAIR(_ZN7G28x0y3D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x0y3[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y3[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x0y3[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y3[] = {
+ {&(_ZTV7G28x0y3[5]), 5,21},
+ {&(_ZTV7G28x0y3[9]), 9,21},
+ {&(_ZTV7G28x0y3[16]), 16,21},
+ {&(_ZTV7G28x0y3[12]), 12,21},
+ {&(_ZTV7G28x0y3[20]), 20,21},
+ {&(_tg__ZTV5E28x0__7G28x0y3[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x0y3[];
+extern VTBL_ENTRY _ZTV7G28x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y3[];
+static VTBL_ENTRY alt_thunk_names39[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y3 = { "G28x0y3", // class name
+ bases_G28x0y3, 6,
+ &(vtc_G28x0y3[0]), // expected_vtbl_contents
+ &(vtt_G28x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y3),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 G28x0y4 : E28x0 , F0 {
+ int ff;
+ ~G28x0y4(); // tgen
+ G28x0y4(); // tgen
+};
+//SIG(1 G28x0y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x0y4 ::~G28x0y4(){ note_dtor("G28x0y4", this);} // tgen
+G28x0y4 ::G28x0y4(){ note_ctor("G28x0y4", this);} // tgen
+
+static void Test_G28x0y4()
+{
+ extern Class_Descriptor cd_G28x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x0y4, buf);
+ G28x0y4 *dp, &lv = *(dp=new (buf) G28x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y4)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(8,4), "G28x0y4");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(40,32), "G28x0y4");
+ check_base_class_offset(lv, (C28*)(E28x0*), 0, "G28x0y4");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(16,12), "G28x0y4");
+ check_base_class_offset(lv, (E28x0*), 0, "G28x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G28x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G28x0y4.ff");
+ test_class_info(&lv, &cd_G28x0y4);
+ dp->~G28x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y4(Test_G28x0y4, "G28x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y4C1Ev();
+extern void _ZN7G28x0y4D1Ev();
+Name_Map name_map_G28x0y4[] = {
+ NSPAIR(_ZN7G28x0y4C1Ev),
+ NSPAIR(_ZN7G28x0y4D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x0y4[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y4[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y4[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y4[] = {
+ {&(_ZTV7G28x0y4[3]), 3,11},
+ {&(_tg__ZTV5E28x0__7G28x0y4[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y4[3]), 3,4},
+ {&(_ZTV7G28x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G28x0y4[];
+extern VTBL_ENTRY _ZTV7G28x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y4[];
+static VTBL_ENTRY alt_thunk_names40[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y4 = { "G28x0y4", // class name
+ bases_G28x0y4, 6,
+ &(vtc_G28x0y4[0]), // expected_vtbl_contents
+ &(vtt_G28x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y4),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 G28x0y5 : virtual E28x0 , F0 {
+ int ff;
+ ~G28x0y5(); // tgen
+ G28x0y5(); // tgen
+};
+//SIG(1 G28x0y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x0y5 ::~G28x0y5(){ note_dtor("G28x0y5", this);} // tgen
+G28x0y5 ::G28x0y5(){ note_ctor("G28x0y5", this);} // tgen
+
+static void Test_G28x0y5()
+{
+ extern Class_Descriptor cd_G28x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x0y5, buf);
+ G28x0y5 *dp, &lv = *(dp=new (buf) G28x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y5)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(24,16), "G28x0y5");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(48,36), "G28x0y5");
+ check_base_class_offset(lv, (C28*)(E28x0*), ABISELECT(16,12), "G28x0y5");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(32,24), "G28x0y5");
+ check_base_class_offset(lv, (E28x0*), ABISELECT(16,12), "G28x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x0y5.ff");
+ test_class_info(&lv, &cd_G28x0y5);
+ dp->~G28x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y5(Test_G28x0y5, "G28x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y5C1Ev();
+extern void _ZN7G28x0y5D1Ev();
+Name_Map name_map_G28x0y5[] = {
+ NSPAIR(_ZN7G28x0y5C1Ev),
+ NSPAIR(_ZN7G28x0y5D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x0y5[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y5[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y5[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y5[] = {
+ {&(_ZTV7G28x0y5[4]), 4,16},
+ {&(_ZTV7G28x0y5[8]), 8,16},
+ {&(_ZTV7G28x0y5[15]), 15,16},
+ {&(_ZTV7G28x0y5[11]), 11,16},
+ {&(_tg__ZTV5E28x0__7G28x0y5[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x0y5[];
+extern VTBL_ENTRY _ZTV7G28x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y5[];
+static VTBL_ENTRY alt_thunk_names41[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y5 = { "G28x0y5", // class name
+ bases_G28x0y5, 6,
+ &(vtc_G28x0y5[0]), // expected_vtbl_contents
+ &(vtt_G28x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y5),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 G28x0y6 : E28x0 , virtual F0 {
+ int ff;
+ ~G28x0y6(); // tgen
+ G28x0y6(); // tgen
+};
+//SIG(1 G28x0y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x0y6 ::~G28x0y6(){ note_dtor("G28x0y6", this);} // tgen
+G28x0y6 ::G28x0y6(){ note_ctor("G28x0y6", this);} // tgen
+
+static void Test_G28x0y6()
+{
+ extern Class_Descriptor cd_G28x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x0y6, buf);
+ G28x0y6 *dp, &lv = *(dp=new (buf) G28x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y6)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(8,4), "G28x0y6");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(40,28), "G28x0y6");
+ check_base_class_offset(lv, (C28*)(E28x0*), 0, "G28x0y6");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(16,12), "G28x0y6");
+ check_base_class_offset(lv, (E28x0*), 0, "G28x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G28x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G28x0y6.ff");
+ test_class_info(&lv, &cd_G28x0y6);
+ dp->~G28x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y6(Test_G28x0y6, "G28x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y6C1Ev();
+extern void _ZN7G28x0y6D1Ev();
+Name_Map name_map_G28x0y6[] = {
+ NSPAIR(_ZN7G28x0y6C1Ev),
+ NSPAIR(_ZN7G28x0y6D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x0y6[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y6[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y6[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y6[] = {
+ {&(_ZTV7G28x0y6[4]), 4,12},
+ {&(_tg__ZTV5E28x0__7G28x0y6[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y6[3]), 3,4},
+ {&(_ZTV7G28x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G28x0y6[];
+extern VTBL_ENTRY _ZTV7G28x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y6[];
+static VTBL_ENTRY alt_thunk_names42[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y6 = { "G28x0y6", // class name
+ bases_G28x0y6, 6,
+ &(vtc_G28x0y6[0]), // expected_vtbl_contents
+ &(vtt_G28x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y6),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 G28x0y7 : virtual E28x0 , virtual F0 {
+ int ff;
+ ~G28x0y7(); // tgen
+ G28x0y7(); // tgen
+};
+//SIG(1 G28x0y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x0y7 ::~G28x0y7(){ note_dtor("G28x0y7", this);} // tgen
+G28x0y7 ::G28x0y7(){ note_ctor("G28x0y7", this);} // tgen
+
+static void Test_G28x0y7()
+{
+ extern Class_Descriptor cd_G28x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x0y7, buf);
+ G28x0y7 *dp, &lv = *(dp=new (buf) G28x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x0y7)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x0*), ABISELECT(24,12), "G28x0y7");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x0*), ABISELECT(48,32), "G28x0y7");
+ check_base_class_offset(lv, (C28*)(E28x0*), ABISELECT(16,8), "G28x0y7");
+ check_base_class_offset(lv, (D1*)(E28x0*), ABISELECT(32,20), "G28x0y7");
+ check_base_class_offset(lv, (E28x0*), ABISELECT(16,8), "G28x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G28x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x0y7.ff");
+ test_class_info(&lv, &cd_G28x0y7);
+ dp->~G28x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x0y7(Test_G28x0y7, "G28x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x0y7C1Ev();
+extern void _ZN7G28x0y7D1Ev();
+Name_Map name_map_G28x0y7[] = {
+ NSPAIR(_ZN7G28x0y7C1Ev),
+ NSPAIR(_ZN7G28x0y7D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x0;
+extern VTBL_ENTRY _ZTI5E28x0[];
+extern VTBL_ENTRY _ZTV5E28x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x0y7[] = {
+ // 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_C28, 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_E28x0, 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 _ZTI7G28x0y7[];
+extern void _ZN3C283fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x0y7[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x0__7G28x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x0__7G28x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x0__7G28x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x0__7G28x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x0y7[] = {
+ {&(_ZTV7G28x0y7[5]), 5,17},
+ {&(_ZTV7G28x0y7[9]), 9,17},
+ {&(_ZTV7G28x0y7[16]), 16,17},
+ {&(_ZTV7G28x0y7[12]), 12,17},
+ {&(_tg__ZTV5E28x0__7G28x0y7[3]), 3,4},
+ {&(_tg__ZTV3C285E28x0__7G28x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x0__7G28x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x0__7G28x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x0y7[];
+extern VTBL_ENTRY _ZTV7G28x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x0y7[];
+static VTBL_ENTRY alt_thunk_names43[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x0y7 = { "G28x0y7", // class name
+ bases_G28x0y7, 6,
+ &(vtc_G28x0y7[0]), // expected_vtbl_contents
+ &(vtt_G28x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x0y7),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 E29x0 : C29 , D1 {
+ int fd;
+ ~E29x0(); // tgen
+ E29x0(); // tgen
+};
+//SIG(-1 E29x0) C1{ BC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E29x0 ::~E29x0(){ note_dtor("E29x0", this);} // tgen
+E29x0 ::E29x0(){ note_ctor("E29x0", this);} // tgen
+
+static void Test_E29x0()
+{
+ extern Class_Descriptor cd_E29x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E29x0, buf);
+ E29x0 *dp, &lv = *(dp=new (buf) E29x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E29x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x0)");
+ check_base_class_offset(lv, (A1*)(C29*), 0, "E29x0");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "E29x0");
+ check_base_class_offset(lv, (C29*), 0, "E29x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,12), "E29x0");
+ check_field_offset(lv, fd, ABISELECT(28,20), "E29x0.fd");
+ test_class_info(&lv, &cd_E29x0);
+ dp->~E29x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x0(Test_E29x0, "E29x0", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E29x0C1Ev();
+extern void _ZN5E29x0D1Ev();
+Name_Map name_map_E29x0[] = {
+ NSPAIR(_ZN5E29x0C1Ev),
+ NSPAIR(_ZN5E29x0D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E29x0[] = {
+ // 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_C29, 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 _ZTI5E29x0[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E29x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__5E29x0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x0[] = {
+ {&(_ZTV5E29x0[3]), 3,11},
+ {&(_tg__ZTV3C29__5E29x0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x0[3]), 3,4},
+ {&(_ZTV5E29x0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+static VTBL_ENTRY alt_thunk_names44[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E29x0 = { "E29x0", // class name
+ bases_E29x0, 4,
+ &(vtc_E29x0[0]), // expected_vtbl_contents
+ &(vtt_E29x0[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E29x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x0),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 G29x0y0 : E29x0 , F1 {
+ int ff;
+ ~G29x0y0(); // tgen
+ G29x0y0(); // tgen
+};
+//SIG(1 G29x0y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x0y0 ::~G29x0y0(){ note_dtor("G29x0y0", this);} // tgen
+G29x0y0 ::G29x0y0(){ note_ctor("G29x0y0", this);} // tgen
+
+static void Test_G29x0y0()
+{
+ extern Class_Descriptor cd_G29x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x0y0, buf);
+ G29x0y0 *dp, &lv = *(dp=new (buf) G29x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y0)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), 0, "G29x0y0");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(48,36), "G29x0y0");
+ check_base_class_offset(lv, (C29*)(E29x0*), 0, "G29x0y0");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(16,12), "G29x0y0");
+ check_base_class_offset(lv, (E29x0*), 0, "G29x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G29x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G29x0y0.ff");
+ test_class_info(&lv, &cd_G29x0y0);
+ dp->~G29x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y0(Test_G29x0y0, "G29x0y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y0C1Ev();
+extern void _ZN7G29x0y0D1Ev();
+Name_Map name_map_G29x0y0[] = {
+ NSPAIR(_ZN7G29x0y0C1Ev),
+ NSPAIR(_ZN7G29x0y0D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x0y0[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y0[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y0[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y0[] = {
+ ABISELECT(48,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y0[] = {
+ ABISELECT(-48,-36),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y0[] = {
+ {&(_ZTV7G29x0y0[3]), 3,14},
+ {&(_tg__ZTV5E29x0__7G29x0y0[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y0[3]), 3,4},
+ {&(_ZTV7G29x0y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G29x0y0[];
+extern VTBL_ENTRY _ZTV7G29x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y0[];
+static VTBL_ENTRY alt_thunk_names45[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C293fooEv,_ZThn36_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y0 = { "G29x0y0", // class name
+ bases_G29x0y0, 6,
+ &(vtc_G29x0y0[0]), // expected_vtbl_contents
+ &(vtt_G29x0y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y0),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 G29x0y1 : virtual E29x0 , F1 {
+ int ff;
+ ~G29x0y1(); // tgen
+ G29x0y1(); // tgen
+};
+//SIG(1 G29x0y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x0y1 ::~G29x0y1(){ note_dtor("G29x0y1", this);} // tgen
+G29x0y1 ::G29x0y1(){ note_ctor("G29x0y1", this);} // tgen
+
+static void Test_G29x0y1()
+{
+ extern Class_Descriptor cd_G29x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x0y1, buf);
+ G29x0y1 *dp, &lv = *(dp=new (buf) G29x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y1)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), ABISELECT(16,12), "G29x0y1");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(48,36), "G29x0y1");
+ check_base_class_offset(lv, (C29*)(E29x0*), ABISELECT(16,12), "G29x0y1");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(32,24), "G29x0y1");
+ check_base_class_offset(lv, (E29x0*), ABISELECT(16,12), "G29x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x0y1.ff");
+ test_class_info(&lv, &cd_G29x0y1);
+ dp->~G29x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y1(Test_G29x0y1, "G29x0y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y1C1Ev();
+extern void _ZN7G29x0y1D1Ev();
+Name_Map name_map_G29x0y1[] = {
+ NSPAIR(_ZN7G29x0y1C1Ev),
+ NSPAIR(_ZN7G29x0y1D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x0y1[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y1[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y1[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y1[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y1[] = {
+ {&(_ZTV7G29x0y1[4]), 4,17},
+ {&(_ZTV7G29x0y1[9]), 9,17},
+ {&(_ZTV7G29x0y1[16]), 16,17},
+ {&(_ZTV7G29x0y1[12]), 12,17},
+ {&(_tg__ZTV5E29x0__7G29x0y1[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x0y1[];
+extern VTBL_ENTRY _ZTV7G29x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y1[];
+static VTBL_ENTRY alt_thunk_names46[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y1 = { "G29x0y1", // class name
+ bases_G29x0y1, 6,
+ &(vtc_G29x0y1[0]), // expected_vtbl_contents
+ &(vtt_G29x0y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y1),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 G29x0y2 : E29x0 , virtual F1 {
+ int ff;
+ ~G29x0y2(); // tgen
+ G29x0y2(); // tgen
+};
+//SIG(1 G29x0y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x0y2 ::~G29x0y2(){ note_dtor("G29x0y2", this);} // tgen
+G29x0y2 ::G29x0y2(){ note_ctor("G29x0y2", this);} // tgen
+
+static void Test_G29x0y2()
+{
+ extern Class_Descriptor cd_G29x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x0y2, buf);
+ G29x0y2 *dp, &lv = *(dp=new (buf) G29x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y2)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), 0, "G29x0y2");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(40,28), "G29x0y2");
+ check_base_class_offset(lv, (C29*)(E29x0*), 0, "G29x0y2");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(16,12), "G29x0y2");
+ check_base_class_offset(lv, (E29x0*), 0, "G29x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G29x0y2.ff");
+ test_class_info(&lv, &cd_G29x0y2);
+ dp->~G29x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y2(Test_G29x0y2, "G29x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y2C1Ev();
+extern void _ZN7G29x0y2D1Ev();
+Name_Map name_map_G29x0y2[] = {
+ NSPAIR(_ZN7G29x0y2C1Ev),
+ NSPAIR(_ZN7G29x0y2D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x0y2[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y2[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x0y2[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y2[] = {
+ {&(_ZTV7G29x0y2[4]), 4,16},
+ {&(_tg__ZTV5E29x0__7G29x0y2[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y2[3]), 3,4},
+ {&(_ZTV7G29x0y2[11]), 11,16},
+ {&(_ZTV7G29x0y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G29x0y2[];
+extern VTBL_ENTRY _ZTV7G29x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y2[];
+static VTBL_ENTRY alt_thunk_names47[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y2 = { "G29x0y2", // class name
+ bases_G29x0y2, 6,
+ &(vtc_G29x0y2[0]), // expected_vtbl_contents
+ &(vtt_G29x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y2),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 G29x0y3 : virtual E29x0 , virtual F1 {
+ int ff;
+ ~G29x0y3(); // tgen
+ G29x0y3(); // tgen
+};
+//SIG(1 G29x0y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x0y3 ::~G29x0y3(){ note_dtor("G29x0y3", this);} // tgen
+G29x0y3 ::G29x0y3(){ note_ctor("G29x0y3", this);} // tgen
+
+static void Test_G29x0y3()
+{
+ extern Class_Descriptor cd_G29x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x0y3, buf);
+ G29x0y3 *dp, &lv = *(dp=new (buf) G29x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y3)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), ABISELECT(16,8), "G29x0y3");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(48,32), "G29x0y3");
+ check_base_class_offset(lv, (C29*)(E29x0*), ABISELECT(16,8), "G29x0y3");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(32,20), "G29x0y3");
+ check_base_class_offset(lv, (E29x0*), ABISELECT(16,8), "G29x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G29x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x0y3.ff");
+ test_class_info(&lv, &cd_G29x0y3);
+ dp->~G29x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y3(Test_G29x0y3, "G29x0y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y3C1Ev();
+extern void _ZN7G29x0y3D1Ev();
+Name_Map name_map_G29x0y3[] = {
+ NSPAIR(_ZN7G29x0y3C1Ev),
+ NSPAIR(_ZN7G29x0y3D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x0y3[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y3[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x0y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x0y3[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y3[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y3[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y3[] = {
+ {&(_ZTV7G29x0y3[5]), 5,21},
+ {&(_ZTV7G29x0y3[9]), 9,21},
+ {&(_ZTV7G29x0y3[16]), 16,21},
+ {&(_ZTV7G29x0y3[12]), 12,21},
+ {&(_ZTV7G29x0y3[20]), 20,21},
+ {&(_tg__ZTV5E29x0__7G29x0y3[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x0y3[];
+extern VTBL_ENTRY _ZTV7G29x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y3[];
+static VTBL_ENTRY alt_thunk_names48[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y3 = { "G29x0y3", // class name
+ bases_G29x0y3, 6,
+ &(vtc_G29x0y3[0]), // expected_vtbl_contents
+ &(vtt_G29x0y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y3),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 G29x0y4 : E29x0 , F0 {
+ int ff;
+ ~G29x0y4(); // tgen
+ G29x0y4(); // tgen
+};
+//SIG(1 G29x0y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x0y4 ::~G29x0y4(){ note_dtor("G29x0y4", this);} // tgen
+G29x0y4 ::G29x0y4(){ note_ctor("G29x0y4", this);} // tgen
+
+static void Test_G29x0y4()
+{
+ extern Class_Descriptor cd_G29x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x0y4, buf);
+ G29x0y4 *dp, &lv = *(dp=new (buf) G29x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y4)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), 0, "G29x0y4");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(40,32), "G29x0y4");
+ check_base_class_offset(lv, (C29*)(E29x0*), 0, "G29x0y4");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(16,12), "G29x0y4");
+ check_base_class_offset(lv, (E29x0*), 0, "G29x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,24), "G29x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G29x0y4.ff");
+ test_class_info(&lv, &cd_G29x0y4);
+ dp->~G29x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y4(Test_G29x0y4, "G29x0y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y4C1Ev();
+extern void _ZN7G29x0y4D1Ev();
+Name_Map name_map_G29x0y4[] = {
+ NSPAIR(_ZN7G29x0y4C1Ev),
+ NSPAIR(_ZN7G29x0y4D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x0y4[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y4[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y4[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y4[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y4[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y4[] = {
+ {&(_ZTV7G29x0y4[3]), 3,11},
+ {&(_tg__ZTV5E29x0__7G29x0y4[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y4[3]), 3,4},
+ {&(_ZTV7G29x0y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G29x0y4[];
+extern VTBL_ENTRY _ZTV7G29x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y4[];
+static VTBL_ENTRY alt_thunk_names49[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y4 = { "G29x0y4", // class name
+ bases_G29x0y4, 6,
+ &(vtc_G29x0y4[0]), // expected_vtbl_contents
+ &(vtt_G29x0y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y4),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 G29x0y5 : virtual E29x0 , F0 {
+ int ff;
+ ~G29x0y5(); // tgen
+ G29x0y5(); // tgen
+};
+//SIG(1 G29x0y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x0y5 ::~G29x0y5(){ note_dtor("G29x0y5", this);} // tgen
+G29x0y5 ::G29x0y5(){ note_ctor("G29x0y5", this);} // tgen
+
+static void Test_G29x0y5()
+{
+ extern Class_Descriptor cd_G29x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x0y5, buf);
+ G29x0y5 *dp, &lv = *(dp=new (buf) G29x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y5)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), ABISELECT(16,12), "G29x0y5");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(48,36), "G29x0y5");
+ check_base_class_offset(lv, (C29*)(E29x0*), ABISELECT(16,12), "G29x0y5");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(32,24), "G29x0y5");
+ check_base_class_offset(lv, (E29x0*), ABISELECT(16,12), "G29x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x0y5.ff");
+ test_class_info(&lv, &cd_G29x0y5);
+ dp->~G29x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y5(Test_G29x0y5, "G29x0y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y5C1Ev();
+extern void _ZN7G29x0y5D1Ev();
+Name_Map name_map_G29x0y5[] = {
+ NSPAIR(_ZN7G29x0y5C1Ev),
+ NSPAIR(_ZN7G29x0y5D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x0y5[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y5[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y5[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y5[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y5[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y5[] = {
+ {&(_ZTV7G29x0y5[4]), 4,16},
+ {&(_ZTV7G29x0y5[8]), 8,16},
+ {&(_ZTV7G29x0y5[15]), 15,16},
+ {&(_ZTV7G29x0y5[11]), 11,16},
+ {&(_tg__ZTV5E29x0__7G29x0y5[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x0y5[];
+extern VTBL_ENTRY _ZTV7G29x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y5[];
+static VTBL_ENTRY alt_thunk_names50[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y5 = { "G29x0y5", // class name
+ bases_G29x0y5, 6,
+ &(vtc_G29x0y5[0]), // expected_vtbl_contents
+ &(vtt_G29x0y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y5),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 G29x0y6 : E29x0 , virtual F0 {
+ int ff;
+ ~G29x0y6(); // tgen
+ G29x0y6(); // tgen
+};
+//SIG(1 G29x0y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x0y6 ::~G29x0y6(){ note_dtor("G29x0y6", this);} // tgen
+G29x0y6 ::G29x0y6(){ note_ctor("G29x0y6", this);} // tgen
+
+static void Test_G29x0y6()
+{
+ extern Class_Descriptor cd_G29x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x0y6, buf);
+ G29x0y6 *dp, &lv = *(dp=new (buf) G29x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y6)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), 0, "G29x0y6");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(40,28), "G29x0y6");
+ check_base_class_offset(lv, (C29*)(E29x0*), 0, "G29x0y6");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(16,12), "G29x0y6");
+ check_base_class_offset(lv, (E29x0*), 0, "G29x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G29x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,24), "G29x0y6.ff");
+ test_class_info(&lv, &cd_G29x0y6);
+ dp->~G29x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y6(Test_G29x0y6, "G29x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y6C1Ev();
+extern void _ZN7G29x0y6D1Ev();
+Name_Map name_map_G29x0y6[] = {
+ NSPAIR(_ZN7G29x0y6C1Ev),
+ NSPAIR(_ZN7G29x0y6D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x0y6[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y6[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y6[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y6[] = {
+ {&(_ZTV7G29x0y6[4]), 4,12},
+ {&(_tg__ZTV5E29x0__7G29x0y6[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y6[3]), 3,4},
+ {&(_ZTV7G29x0y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G29x0y6[];
+extern VTBL_ENTRY _ZTV7G29x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y6[];
+static VTBL_ENTRY alt_thunk_names51[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y6 = { "G29x0y6", // class name
+ bases_G29x0y6, 6,
+ &(vtc_G29x0y6[0]), // expected_vtbl_contents
+ &(vtt_G29x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y6),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 G29x0y7 : virtual E29x0 , virtual F0 {
+ int ff;
+ ~G29x0y7(); // tgen
+ G29x0y7(); // tgen
+};
+//SIG(1 G29x0y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x0y7 ::~G29x0y7(){ note_dtor("G29x0y7", this);} // tgen
+G29x0y7 ::G29x0y7(){ note_ctor("G29x0y7", this);} // tgen
+
+static void Test_G29x0y7()
+{
+ extern Class_Descriptor cd_G29x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x0y7, buf);
+ G29x0y7 *dp, &lv = *(dp=new (buf) G29x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x0y7)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x0*), ABISELECT(16,8), "G29x0y7");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x0*), ABISELECT(48,32), "G29x0y7");
+ check_base_class_offset(lv, (C29*)(E29x0*), ABISELECT(16,8), "G29x0y7");
+ check_base_class_offset(lv, (D1*)(E29x0*), ABISELECT(32,20), "G29x0y7");
+ check_base_class_offset(lv, (E29x0*), ABISELECT(16,8), "G29x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G29x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x0y7.ff");
+ test_class_info(&lv, &cd_G29x0y7);
+ dp->~G29x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x0y7(Test_G29x0y7, "G29x0y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x0y7C1Ev();
+extern void _ZN7G29x0y7D1Ev();
+Name_Map name_map_G29x0y7[] = {
+ NSPAIR(_ZN7G29x0y7C1Ev),
+ NSPAIR(_ZN7G29x0y7D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x0;
+extern VTBL_ENTRY _ZTI5E29x0[];
+extern VTBL_ENTRY _ZTV5E29x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x0y7[] = {
+ // 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_C29, 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_E29x0, 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 _ZTI7G29x0y7[];
+extern void _ZN3C293fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x0y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x0y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x0y7[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x0__7G29x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x0__7G29x0y7[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x0__7G29x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x0__7G29x0y7[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x0y7[] = {
+ {&(_ZTV7G29x0y7[5]), 5,17},
+ {&(_ZTV7G29x0y7[9]), 9,17},
+ {&(_ZTV7G29x0y7[16]), 16,17},
+ {&(_ZTV7G29x0y7[12]), 12,17},
+ {&(_tg__ZTV5E29x0__7G29x0y7[3]), 3,4},
+ {&(_tg__ZTV3C295E29x0__7G29x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x0__7G29x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x0__7G29x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x0y7[];
+extern VTBL_ENTRY _ZTV7G29x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x0y7[];
+static VTBL_ENTRY alt_thunk_names52[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x0y7 = { "G29x0y7", // class name
+ bases_G29x0y7, 6,
+ &(vtc_G29x0y7[0]), // expected_vtbl_contents
+ &(vtt_G29x0y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x0y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x0y7),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 E30x0 : C30 , D1 {
+ int fd;
+ ~E30x0(); // tgen
+ E30x0(); // tgen
+};
+//SIG(-1 E30x0) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E30x0 ::~E30x0(){ note_dtor("E30x0", this);} // tgen
+E30x0 ::E30x0(){ note_ctor("E30x0", this);} // tgen
+
+static void Test_E30x0()
+{
+ extern Class_Descriptor cd_E30x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E30x0, buf);
+ E30x0 *dp, &lv = *(dp=new (buf) E30x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E30x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x0)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(32,20), "E30x0");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,24), "E30x0");
+ check_base_class_offset(lv, (C30*), 0, "E30x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E30x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E30x0.fd");
+ test_class_info(&lv, &cd_E30x0);
+ dp->~E30x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x0(Test_E30x0, "E30x0", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E30x0C1Ev();
+extern void _ZN5E30x0D1Ev();
+Name_Map name_map_E30x0[] = {
+ NSPAIR(_ZN5E30x0C1Ev),
+ NSPAIR(_ZN5E30x0D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E30x0[] = {
+ // 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_C30, 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 _ZTI5E30x0[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E30x0[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x0[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__5E30x0[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x0[] = {
+ {&(_ZTV5E30x0[4]), 4,12},
+ {&(_tg__ZTV3C30__5E30x0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x0[3]), 3,4},
+ {&(_ZTV5E30x0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+static VTBL_ENTRY alt_thunk_names53[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E30x0 = { "E30x0", // class name
+ bases_E30x0, 4,
+ &(vtc_E30x0[0]), // expected_vtbl_contents
+ &(vtt_E30x0[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E30x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x0),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 G30x0y0 : E30x0 , F1 {
+ int ff;
+ ~G30x0y0(); // tgen
+ G30x0y0(); // tgen
+};
+//SIG(1 G30x0y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x0y0 ::~G30x0y0(){ note_dtor("G30x0y0", this);} // tgen
+G30x0y0 ::G30x0y0(){ note_ctor("G30x0y0", this);} // tgen
+
+static void Test_G30x0y0()
+{
+ extern Class_Descriptor cd_G30x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x0y0, buf);
+ G30x0y0 *dp, &lv = *(dp=new (buf) G30x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y0)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(48,32), "G30x0y0");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(56,36), "G30x0y0");
+ check_base_class_offset(lv, (C30*)(E30x0*), 0, "G30x0y0");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(16,8), "G30x0y0");
+ check_base_class_offset(lv, (E30x0*), 0, "G30x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G30x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G30x0y0.ff");
+ test_class_info(&lv, &cd_G30x0y0);
+ dp->~G30x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y0(Test_G30x0y0, "G30x0y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y0C1Ev();
+extern void _ZN7G30x0y0D1Ev();
+Name_Map name_map_G30x0y0[] = {
+ NSPAIR(_ZN7G30x0y0C1Ev),
+ NSPAIR(_ZN7G30x0y0D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x0y0[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y0[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y0[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y0[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y0[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y0[] = {
+ {&(_ZTV7G30x0y0[4]), 4,15},
+ {&(_tg__ZTV5E30x0__7G30x0y0[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y0[3]), 3,4},
+ {&(_ZTV7G30x0y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G30x0y0[];
+extern VTBL_ENTRY _ZTV7G30x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y0[];
+static VTBL_ENTRY alt_thunk_names54[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C303fooEv,_ZThn36_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y0 = { "G30x0y0", // class name
+ bases_G30x0y0, 6,
+ &(vtc_G30x0y0[0]), // expected_vtbl_contents
+ &(vtt_G30x0y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y0),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 G30x0y1 : virtual E30x0 , F1 {
+ int ff;
+ ~G30x0y1(); // tgen
+ G30x0y1(); // tgen
+};
+//SIG(1 G30x0y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x0y1 ::~G30x0y1(){ note_dtor("G30x0y1", this);} // tgen
+G30x0y1 ::G30x0y1(){ note_ctor("G30x0y1", this);} // tgen
+
+static void Test_G30x0y1()
+{
+ extern Class_Descriptor cd_G30x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x0y1, buf);
+ G30x0y1 *dp, &lv = *(dp=new (buf) G30x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y1)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(48,32), "G30x0y1");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(56,36), "G30x0y1");
+ check_base_class_offset(lv, (C30*)(E30x0*), ABISELECT(16,12), "G30x0y1");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(32,20), "G30x0y1");
+ check_base_class_offset(lv, (E30x0*), ABISELECT(16,12), "G30x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x0y1.ff");
+ test_class_info(&lv, &cd_G30x0y1);
+ dp->~G30x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y1(Test_G30x0y1, "G30x0y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y1C1Ev();
+extern void _ZN7G30x0y1D1Ev();
+Name_Map name_map_G30x0y1[] = {
+ NSPAIR(_ZN7G30x0y1C1Ev),
+ NSPAIR(_ZN7G30x0y1D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x0y1[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y1[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y1[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y1[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y1[] = {
+ {&(_ZTV7G30x0y1[5]), 5,19},
+ {&(_ZTV7G30x0y1[11]), 11,19},
+ {&(_ZTV7G30x0y1[18]), 18,19},
+ {&(_ZTV7G30x0y1[14]), 14,19},
+ {&(_tg__ZTV5E30x0__7G30x0y1[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x0y1[];
+extern VTBL_ENTRY _ZTV7G30x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y1[];
+static VTBL_ENTRY alt_thunk_names55[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y1 = { "G30x0y1", // class name
+ bases_G30x0y1, 6,
+ &(vtc_G30x0y1[0]), // expected_vtbl_contents
+ &(vtt_G30x0y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y1),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 G30x0y2 : E30x0 , virtual F1 {
+ int ff;
+ ~G30x0y2(); // tgen
+ G30x0y2(); // tgen
+};
+//SIG(1 G30x0y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x0y2 ::~G30x0y2(){ note_dtor("G30x0y2", this);} // tgen
+G30x0y2 ::G30x0y2(){ note_ctor("G30x0y2", this);} // tgen
+
+static void Test_G30x0y2()
+{
+ extern Class_Descriptor cd_G30x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x0y2, buf);
+ G30x0y2 *dp, &lv = *(dp=new (buf) G30x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y2)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(36,24), "G30x0y2");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(40,28), "G30x0y2");
+ check_base_class_offset(lv, (C30*)(E30x0*), 0, "G30x0y2");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(16,8), "G30x0y2");
+ check_base_class_offset(lv, (E30x0*), 0, "G30x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G30x0y2.ff");
+ test_class_info(&lv, &cd_G30x0y2);
+ dp->~G30x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y2(Test_G30x0y2, "G30x0y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y2C1Ev();
+extern void _ZN7G30x0y2D1Ev();
+Name_Map name_map_G30x0y2[] = {
+ NSPAIR(_ZN7G30x0y2C1Ev),
+ NSPAIR(_ZN7G30x0y2D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x0y2[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y2[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x0y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x0y2[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y2[] = {
+ {&(_ZTV7G30x0y2[5]), 5,17},
+ {&(_tg__ZTV5E30x0__7G30x0y2[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y2[3]), 3,4},
+ {&(_ZTV7G30x0y2[12]), 12,17},
+ {&(_ZTV7G30x0y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G30x0y2[];
+extern VTBL_ENTRY _ZTV7G30x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y2[];
+static VTBL_ENTRY alt_thunk_names56[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y2 = { "G30x0y2", // class name
+ bases_G30x0y2, 6,
+ &(vtc_G30x0y2[0]), // expected_vtbl_contents
+ &(vtt_G30x0y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y2),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 G30x0y3 : virtual E30x0 , virtual F1 {
+ int ff;
+ ~G30x0y3(); // tgen
+ G30x0y3(); // tgen
+};
+//SIG(1 G30x0y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x0y3 ::~G30x0y3(){ note_dtor("G30x0y3", this);} // tgen
+G30x0y3 ::G30x0y3(){ note_ctor("G30x0y3", this);} // tgen
+
+static void Test_G30x0y3()
+{
+ extern Class_Descriptor cd_G30x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G30x0y3, buf);
+ G30x0y3 *dp, &lv = *(dp=new (buf) G30x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G30x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y3)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(48,28), "G30x0y3");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(56,32), "G30x0y3");
+ check_base_class_offset(lv, (C30*)(E30x0*), ABISELECT(16,8), "G30x0y3");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(32,16), "G30x0y3");
+ check_base_class_offset(lv, (E30x0*), ABISELECT(16,8), "G30x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G30x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x0y3.ff");
+ test_class_info(&lv, &cd_G30x0y3);
+ dp->~G30x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y3(Test_G30x0y3, "G30x0y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y3C1Ev();
+extern void _ZN7G30x0y3D1Ev();
+Name_Map name_map_G30x0y3[] = {
+ NSPAIR(_ZN7G30x0y3C1Ev),
+ NSPAIR(_ZN7G30x0y3D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x0y3[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y3[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x0y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x0y3[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y3[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y3[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y3[] = {
+ {&(_ZTV7G30x0y3[6]), 6,23},
+ {&(_ZTV7G30x0y3[11]), 11,23},
+ {&(_ZTV7G30x0y3[18]), 18,23},
+ {&(_ZTV7G30x0y3[14]), 14,23},
+ {&(_ZTV7G30x0y3[22]), 22,23},
+ {&(_tg__ZTV5E30x0__7G30x0y3[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x0y3[];
+extern VTBL_ENTRY _ZTV7G30x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y3[];
+static VTBL_ENTRY alt_thunk_names57[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y3 = { "G30x0y3", // class name
+ bases_G30x0y3, 6,
+ &(vtc_G30x0y3[0]), // expected_vtbl_contents
+ &(vtt_G30x0y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G30x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y3),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 G30x0y4 : E30x0 , F0 {
+ int ff;
+ ~G30x0y4(); // tgen
+ G30x0y4(); // tgen
+};
+//SIG(1 G30x0y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x0y4 ::~G30x0y4(){ note_dtor("G30x0y4", this);} // tgen
+G30x0y4 ::G30x0y4(){ note_ctor("G30x0y4", this);} // tgen
+
+static void Test_G30x0y4()
+{
+ extern Class_Descriptor cd_G30x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G30x0y4, buf);
+ G30x0y4 *dp, &lv = *(dp=new (buf) G30x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G30x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y4)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(40,28), "G30x0y4");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(48,32), "G30x0y4");
+ check_base_class_offset(lv, (C30*)(E30x0*), 0, "G30x0y4");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(16,8), "G30x0y4");
+ check_base_class_offset(lv, (E30x0*), 0, "G30x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G30x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G30x0y4.ff");
+ test_class_info(&lv, &cd_G30x0y4);
+ dp->~G30x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y4(Test_G30x0y4, "G30x0y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y4C1Ev();
+extern void _ZN7G30x0y4D1Ev();
+Name_Map name_map_G30x0y4[] = {
+ NSPAIR(_ZN7G30x0y4C1Ev),
+ NSPAIR(_ZN7G30x0y4D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x0y4[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y4[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y4[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y4[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y4[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y4[] = {
+ {&(_ZTV7G30x0y4[4]), 4,12},
+ {&(_tg__ZTV5E30x0__7G30x0y4[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y4[3]), 3,4},
+ {&(_ZTV7G30x0y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G30x0y4[];
+extern VTBL_ENTRY _ZTV7G30x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y4[];
+static VTBL_ENTRY alt_thunk_names58[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y4 = { "G30x0y4", // class name
+ bases_G30x0y4, 6,
+ &(vtc_G30x0y4[0]), // expected_vtbl_contents
+ &(vtt_G30x0y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G30x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y4),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 G30x0y5 : virtual E30x0 , F0 {
+ int ff;
+ ~G30x0y5(); // tgen
+ G30x0y5(); // tgen
+};
+//SIG(1 G30x0y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x0y5 ::~G30x0y5(){ note_dtor("G30x0y5", this);} // tgen
+G30x0y5 ::G30x0y5(){ note_ctor("G30x0y5", this);} // tgen
+
+static void Test_G30x0y5()
+{
+ extern Class_Descriptor cd_G30x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x0y5, buf);
+ G30x0y5 *dp, &lv = *(dp=new (buf) G30x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y5)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(48,32), "G30x0y5");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(56,36), "G30x0y5");
+ check_base_class_offset(lv, (C30*)(E30x0*), ABISELECT(16,12), "G30x0y5");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(32,20), "G30x0y5");
+ check_base_class_offset(lv, (E30x0*), ABISELECT(16,12), "G30x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x0y5.ff");
+ test_class_info(&lv, &cd_G30x0y5);
+ dp->~G30x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y5(Test_G30x0y5, "G30x0y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y5C1Ev();
+extern void _ZN7G30x0y5D1Ev();
+Name_Map name_map_G30x0y5[] = {
+ NSPAIR(_ZN7G30x0y5C1Ev),
+ NSPAIR(_ZN7G30x0y5D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x0y5[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y5[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y5[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y5[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y5[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y5[] = {
+ {&(_ZTV7G30x0y5[5]), 5,18},
+ {&(_ZTV7G30x0y5[10]), 10,18},
+ {&(_ZTV7G30x0y5[17]), 17,18},
+ {&(_ZTV7G30x0y5[13]), 13,18},
+ {&(_tg__ZTV5E30x0__7G30x0y5[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x0y5[];
+extern VTBL_ENTRY _ZTV7G30x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y5[];
+static VTBL_ENTRY alt_thunk_names59[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y5 = { "G30x0y5", // class name
+ bases_G30x0y5, 6,
+ &(vtc_G30x0y5[0]), // expected_vtbl_contents
+ &(vtt_G30x0y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y5),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 G30x0y6 : E30x0 , virtual F0 {
+ int ff;
+ ~G30x0y6(); // tgen
+ G30x0y6(); // tgen
+};
+//SIG(1 G30x0y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x0y6 ::~G30x0y6(){ note_dtor("G30x0y6", this);} // tgen
+G30x0y6 ::G30x0y6(){ note_ctor("G30x0y6", this);} // tgen
+
+static void Test_G30x0y6()
+{
+ extern Class_Descriptor cd_G30x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x0y6, buf);
+ G30x0y6 *dp, &lv = *(dp=new (buf) G30x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y6)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(36,24), "G30x0y6");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(40,28), "G30x0y6");
+ check_base_class_offset(lv, (C30*)(E30x0*), 0, "G30x0y6");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(16,8), "G30x0y6");
+ check_base_class_offset(lv, (E30x0*), 0, "G30x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G30x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G30x0y6.ff");
+ test_class_info(&lv, &cd_G30x0y6);
+ dp->~G30x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y6(Test_G30x0y6, "G30x0y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y6C1Ev();
+extern void _ZN7G30x0y6D1Ev();
+Name_Map name_map_G30x0y6[] = {
+ NSPAIR(_ZN7G30x0y6C1Ev),
+ NSPAIR(_ZN7G30x0y6D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x0y6[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y6[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y6[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y6[] = {
+ {&(_ZTV7G30x0y6[5]), 5,13},
+ {&(_tg__ZTV5E30x0__7G30x0y6[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y6[3]), 3,4},
+ {&(_ZTV7G30x0y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G30x0y6[];
+extern VTBL_ENTRY _ZTV7G30x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y6[];
+static VTBL_ENTRY alt_thunk_names60[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y6 = { "G30x0y6", // class name
+ bases_G30x0y6, 6,
+ &(vtc_G30x0y6[0]), // expected_vtbl_contents
+ &(vtt_G30x0y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y6),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 G30x0y7 : virtual E30x0 , virtual F0 {
+ int ff;
+ ~G30x0y7(); // tgen
+ G30x0y7(); // tgen
+};
+//SIG(1 G30x0y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x0y7 ::~G30x0y7(){ note_dtor("G30x0y7", this);} // tgen
+G30x0y7 ::G30x0y7(){ note_ctor("G30x0y7", this);} // tgen
+
+static void Test_G30x0y7()
+{
+ extern Class_Descriptor cd_G30x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x0y7, buf);
+ G30x0y7 *dp, &lv = *(dp=new (buf) G30x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x0y7)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x0*), ABISELECT(48,28), "G30x0y7");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x0*), ABISELECT(56,32), "G30x0y7");
+ check_base_class_offset(lv, (C30*)(E30x0*), ABISELECT(16,8), "G30x0y7");
+ check_base_class_offset(lv, (D1*)(E30x0*), ABISELECT(32,16), "G30x0y7");
+ check_base_class_offset(lv, (E30x0*), ABISELECT(16,8), "G30x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G30x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x0y7.ff");
+ test_class_info(&lv, &cd_G30x0y7);
+ dp->~G30x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x0y7(Test_G30x0y7, "G30x0y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x0y7C1Ev();
+extern void _ZN7G30x0y7D1Ev();
+Name_Map name_map_G30x0y7[] = {
+ NSPAIR(_ZN7G30x0y7C1Ev),
+ NSPAIR(_ZN7G30x0y7D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x0;
+extern VTBL_ENTRY _ZTI5E30x0[];
+extern VTBL_ENTRY _ZTV5E30x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x0y7[] = {
+ // 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_C30, 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_E30x0, 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 _ZTI7G30x0y7[];
+extern void _ZN3C303fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x0y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x0y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x0y7[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x0__7G30x0y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x0__7G30x0y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x0__7G30x0y7[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x0__7G30x0y7[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x0y7[] = {
+ {&(_ZTV7G30x0y7[6]), 6,19},
+ {&(_ZTV7G30x0y7[11]), 11,19},
+ {&(_ZTV7G30x0y7[18]), 18,19},
+ {&(_ZTV7G30x0y7[14]), 14,19},
+ {&(_tg__ZTV5E30x0__7G30x0y7[4]), 4,5},
+ {&(_tg__ZTV3C305E30x0__7G30x0y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x0__7G30x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x0__7G30x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x0y7[];
+extern VTBL_ENTRY _ZTV7G30x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x0y7[];
+static VTBL_ENTRY alt_thunk_names61[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x0y7 = { "G30x0y7", // class name
+ bases_G30x0y7, 6,
+ &(vtc_G30x0y7[0]), // expected_vtbl_contents
+ &(vtt_G30x0y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x0y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x0y7),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 E31x0 : C31 , D1 {
+ int fd;
+ ~E31x0(); // tgen
+ E31x0(); // tgen
+};
+//SIG(-1 E31x0) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E31x0 ::~E31x0(){ note_dtor("E31x0", this);} // tgen
+E31x0 ::E31x0(){ note_ctor("E31x0", this);} // tgen
+
+static void Test_E31x0()
+{
+ extern Class_Descriptor cd_E31x0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E31x0, buf);
+ E31x0 *dp, &lv = *(dp=new (buf) E31x0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E31x0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x0)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "E31x0");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "E31x0");
+ check_base_class_offset(lv, (C31*), 0, "E31x0");
+ check_base_class_offset(lv, (D1*), ABISELECT(16,8), "E31x0");
+ check_field_offset(lv, fd, ABISELECT(28,16), "E31x0.fd");
+ test_class_info(&lv, &cd_E31x0);
+ dp->~E31x0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x0(Test_E31x0, "E31x0", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E31x0C1Ev();
+extern void _ZN5E31x0D1Ev();
+Name_Map name_map_E31x0[] = {
+ NSPAIR(_ZN5E31x0C1Ev),
+ NSPAIR(_ZN5E31x0D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E31x0[] = {
+ // 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_C31, 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 _ZTI5E31x0[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E31x0[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x0[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__5E31x0[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__5E31x0[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x0[] = {
+ {&(_ZTV5E31x0[4]), 4,16},
+ {&(_tg__ZTV3C31__5E31x0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x0[3]), 3,4},
+ {&(_ZTV5E31x0[11]), 11,16},
+ {&(_ZTV5E31x0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+static VTBL_ENTRY alt_thunk_names62[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E31x0 = { "E31x0", // class name
+ bases_E31x0, 4,
+ &(vtc_E31x0[0]), // expected_vtbl_contents
+ &(vtt_E31x0[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E31x0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x0),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 G31x0y0 : E31x0 , F1 {
+ int ff;
+ ~G31x0y0(); // tgen
+ G31x0y0(); // tgen
+};
+//SIG(1 G31x0y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x0y0 ::~G31x0y0(){ note_dtor("G31x0y0", this);} // tgen
+G31x0y0 ::G31x0y0(){ note_ctor("G31x0y0", this);} // tgen
+
+static void Test_G31x0y0()
+{
+ extern Class_Descriptor cd_G31x0y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x0y0, buf);
+ G31x0y0 *dp, &lv = *(dp=new (buf) G31x0y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x0y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y0)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(48,32), "G31x0y0");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(64,40), "G31x0y0");
+ check_base_class_offset(lv, (C31*)(E31x0*), 0, "G31x0y0");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(16,8), "G31x0y0");
+ check_base_class_offset(lv, (E31x0*), 0, "G31x0y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,20), "G31x0y0");
+ check_field_offset(lv, ff, ABISELECT(44,28), "G31x0y0.ff");
+ test_class_info(&lv, &cd_G31x0y0);
+ dp->~G31x0y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y0(Test_G31x0y0, "G31x0y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y0C1Ev();
+extern void _ZN7G31x0y0D1Ev();
+Name_Map name_map_G31x0y0[] = {
+ NSPAIR(_ZN7G31x0y0C1Ev),
+ NSPAIR(_ZN7G31x0y0D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x0y0[] = {
+ // 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_C31, 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_E31x0, 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 _ZTI7G31x0y0[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x0y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-64,-40),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x0y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y0[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y0[] = {
+ ABISELECT(-64,-40),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y0[] = {
+ ABISELECT(-64,-40),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y0[] = {
+ {&(_ZTV7G31x0y0[4]), 4,19},
+ {&(_tg__ZTV5E31x0__7G31x0y0[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y0[3]), 3,4},
+ {&(_ZTV7G31x0y0[14]), 14,19},
+ {&(_ZTV7G31x0y0[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G31x0y0[];
+extern VTBL_ENTRY _ZTV7G31x0y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y0[];
+static VTBL_ENTRY alt_thunk_names63[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn64_N3C313fooEv,_ZThn40_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y0 = { "G31x0y0", // class name
+ bases_G31x0y0, 6,
+ &(vtc_G31x0y0[0]), // expected_vtbl_contents
+ &(vtt_G31x0y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x0y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y0),19, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y0),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 G31x0y1 : virtual E31x0 , F1 {
+ int ff;
+ ~G31x0y1(); // tgen
+ G31x0y1(); // tgen
+};
+//SIG(1 G31x0y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x0y1 ::~G31x0y1(){ note_dtor("G31x0y1", this);} // tgen
+G31x0y1 ::G31x0y1(){ note_ctor("G31x0y1", this);} // tgen
+
+static void Test_G31x0y1()
+{
+ extern Class_Descriptor cd_G31x0y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x0y1, buf);
+ G31x0y1 *dp, &lv = *(dp=new (buf) G31x0y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x0y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y1)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(48,32), "G31x0y1");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(64,40), "G31x0y1");
+ check_base_class_offset(lv, (C31*)(E31x0*), ABISELECT(16,12), "G31x0y1");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(32,20), "G31x0y1");
+ check_base_class_offset(lv, (E31x0*), ABISELECT(16,12), "G31x0y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x0y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x0y1.ff");
+ test_class_info(&lv, &cd_G31x0y1);
+ dp->~G31x0y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y1(Test_G31x0y1, "G31x0y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y1C1Ev();
+extern void _ZN7G31x0y1D1Ev();
+Name_Map name_map_G31x0y1[] = {
+ NSPAIR(_ZN7G31x0y1C1Ev),
+ NSPAIR(_ZN7G31x0y1D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x0y1[] = {
+ // 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_C31, 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_E31x0, 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 _ZTI7G31x0y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x0y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x0y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x0y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y1[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y1[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y1[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y1[] = {
+ {&(_ZTV7G31x0y1[5]), 5,23},
+ {&(_ZTV7G31x0y1[11]), 11,23},
+ {&(_ZTV7G31x0y1[18]), 18,23},
+ {&(_ZTV7G31x0y1[22]), 22,23},
+ {&(_ZTV7G31x0y1[14]), 14,23},
+ {&(_tg__ZTV5E31x0__7G31x0y1[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x0y1[];
+extern VTBL_ENTRY _ZTV7G31x0y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y1[];
+static VTBL_ENTRY alt_thunk_names64[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y1 = { "G31x0y1", // class name
+ bases_G31x0y1, 6,
+ &(vtc_G31x0y1[0]), // expected_vtbl_contents
+ &(vtt_G31x0y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x0y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y1),23, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y1),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names64,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y2 : E31x0 , virtual F1 {
+ int ff;
+ ~G31x0y2(); // tgen
+ G31x0y2(); // tgen
+};
+//SIG(1 G31x0y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x0y2 ::~G31x0y2(){ note_dtor("G31x0y2", this);} // tgen
+G31x0y2 ::G31x0y2(){ note_ctor("G31x0y2", this);} // tgen
+
+static void Test_G31x0y2()
+{
+ extern Class_Descriptor cd_G31x0y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x0y2, buf);
+ G31x0y2 *dp, &lv = *(dp=new (buf) G31x0y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x0y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y2)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(40,24), "G31x0y2");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(56,32), "G31x0y2");
+ check_base_class_offset(lv, (C31*)(E31x0*), 0, "G31x0y2");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(16,8), "G31x0y2");
+ check_base_class_offset(lv, (E31x0*), 0, "G31x0y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G31x0y2");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G31x0y2.ff");
+ test_class_info(&lv, &cd_G31x0y2);
+ dp->~G31x0y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y2(Test_G31x0y2, "G31x0y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y2C1Ev();
+extern void _ZN7G31x0y2D1Ev();
+Name_Map name_map_G31x0y2[] = {
+ NSPAIR(_ZN7G31x0y2C1Ev),
+ NSPAIR(_ZN7G31x0y2D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x0y2[] = {
+ // 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)
+ 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(56,32), //bcp->offset
+ 13, //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_C31, 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
+ 4, //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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x0, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //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 _ZTI7G31x0y2[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x0y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x0y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x0y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x0y2[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y2[] = {
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y2[] = {
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y2[] = {
+ {&(_ZTV7G31x0y2[5]), 5,21},
+ {&(_tg__ZTV5E31x0__7G31x0y2[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y2[3]), 3,4},
+ {&(_ZTV7G31x0y2[12]), 12,21},
+ {&(_ZTV7G31x0y2[16]), 16,21},
+ {&(_ZTV7G31x0y2[20]), 20,21},
+};
+extern VTBL_ENTRY _ZTI7G31x0y2[];
+extern VTBL_ENTRY _ZTV7G31x0y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y2[];
+static VTBL_ENTRY alt_thunk_names65[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y2 = { "G31x0y2", // class name
+ bases_G31x0y2, 6,
+ &(vtc_G31x0y2[0]), // expected_vtbl_contents
+ &(vtt_G31x0y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x0y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y2),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y2),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names65,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y3 : virtual E31x0 , virtual F1 {
+ int ff;
+ ~G31x0y3(); // tgen
+ G31x0y3(); // tgen
+};
+//SIG(1 G31x0y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x0y3 ::~G31x0y3(){ note_dtor("G31x0y3", this);} // tgen
+G31x0y3 ::G31x0y3(){ note_ctor("G31x0y3", this);} // tgen
+
+static void Test_G31x0y3()
+{
+ extern Class_Descriptor cd_G31x0y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x0y3, buf);
+ G31x0y3 *dp, &lv = *(dp=new (buf) G31x0y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x0y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y3)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(48,28), "G31x0y3");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(64,36), "G31x0y3");
+ check_base_class_offset(lv, (C31*)(E31x0*), ABISELECT(16,8), "G31x0y3");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(32,16), "G31x0y3");
+ check_base_class_offset(lv, (E31x0*), ABISELECT(16,8), "G31x0y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x0y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x0y3.ff");
+ test_class_info(&lv, &cd_G31x0y3);
+ dp->~G31x0y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y3(Test_G31x0y3, "G31x0y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y3C1Ev();
+extern void _ZN7G31x0y3D1Ev();
+Name_Map name_map_G31x0y3[] = {
+ NSPAIR(_ZN7G31x0y3C1Ev),
+ NSPAIR(_ZN7G31x0y3D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x0y3[] = {
+ // 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_B1, ABISELECT(64,36), //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_C31, 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //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)
+ 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_E31x0, 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 23, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x0y3[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x0y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x0y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x0y3[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y3[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y3[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y3[] = {
+ {&(_ZTV7G31x0y3[6]), 6,27},
+ {&(_ZTV7G31x0y3[11]), 11,27},
+ {&(_ZTV7G31x0y3[18]), 18,27},
+ {&(_ZTV7G31x0y3[22]), 22,27},
+ {&(_ZTV7G31x0y3[14]), 14,27},
+ {&(_ZTV7G31x0y3[26]), 26,27},
+ {&(_tg__ZTV5E31x0__7G31x0y3[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x0y3[];
+extern VTBL_ENTRY _ZTV7G31x0y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y3[];
+static VTBL_ENTRY alt_thunk_names66[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y3 = { "G31x0y3", // class name
+ bases_G31x0y3, 6,
+ &(vtc_G31x0y3[0]), // expected_vtbl_contents
+ &(vtt_G31x0y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x0y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y3),27, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y3),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names66,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y4 : E31x0 , F0 {
+ int ff;
+ ~G31x0y4(); // tgen
+ G31x0y4(); // tgen
+};
+//SIG(1 G31x0y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x0y4 ::~G31x0y4(){ note_dtor("G31x0y4", this);} // tgen
+G31x0y4 ::G31x0y4(){ note_ctor("G31x0y4", this);} // tgen
+
+static void Test_G31x0y4()
+{
+ extern Class_Descriptor cd_G31x0y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x0y4, buf);
+ G31x0y4 *dp, &lv = *(dp=new (buf) G31x0y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x0y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y4)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(40,28), "G31x0y4");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(56,36), "G31x0y4");
+ check_base_class_offset(lv, (C31*)(E31x0*), 0, "G31x0y4");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(16,8), "G31x0y4");
+ check_base_class_offset(lv, (E31x0*), 0, "G31x0y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,20), "G31x0y4");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G31x0y4.ff");
+ test_class_info(&lv, &cd_G31x0y4);
+ dp->~G31x0y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y4(Test_G31x0y4, "G31x0y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y4C1Ev();
+extern void _ZN7G31x0y4D1Ev();
+Name_Map name_map_G31x0y4[] = {
+ NSPAIR(_ZN7G31x0y4C1Ev),
+ NSPAIR(_ZN7G31x0y4D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x0y4[] = {
+ // 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)
+ 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(56,36), //bcp->offset
+ 12, //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_C31, 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_E31x0, 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_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 _ZTI7G31x0y4[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x0y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y4[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y4[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y4[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y4[] = {
+ {&(_ZTV7G31x0y4[4]), 4,16},
+ {&(_tg__ZTV5E31x0__7G31x0y4[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y4[3]), 3,4},
+ {&(_ZTV7G31x0y4[11]), 11,16},
+ {&(_ZTV7G31x0y4[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G31x0y4[];
+extern VTBL_ENTRY _ZTV7G31x0y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y4[];
+static VTBL_ENTRY alt_thunk_names67[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn36_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y4 = { "G31x0y4", // class name
+ bases_G31x0y4, 6,
+ &(vtc_G31x0y4[0]), // expected_vtbl_contents
+ &(vtt_G31x0y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x0y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y4),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y4),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names67,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y5 : virtual E31x0 , F0 {
+ int ff;
+ ~G31x0y5(); // tgen
+ G31x0y5(); // tgen
+};
+//SIG(1 G31x0y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x0y5 ::~G31x0y5(){ note_dtor("G31x0y5", this);} // tgen
+G31x0y5 ::G31x0y5(){ note_ctor("G31x0y5", this);} // tgen
+
+static void Test_G31x0y5()
+{
+ extern Class_Descriptor cd_G31x0y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x0y5, buf);
+ G31x0y5 *dp, &lv = *(dp=new (buf) G31x0y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x0y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y5)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(48,32), "G31x0y5");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(64,40), "G31x0y5");
+ check_base_class_offset(lv, (C31*)(E31x0*), ABISELECT(16,12), "G31x0y5");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(32,20), "G31x0y5");
+ check_base_class_offset(lv, (E31x0*), ABISELECT(16,12), "G31x0y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x0y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x0y5.ff");
+ test_class_info(&lv, &cd_G31x0y5);
+ dp->~G31x0y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y5(Test_G31x0y5, "G31x0y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y5C1Ev();
+extern void _ZN7G31x0y5D1Ev();
+Name_Map name_map_G31x0y5[] = {
+ NSPAIR(_ZN7G31x0y5C1Ev),
+ NSPAIR(_ZN7G31x0y5D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x0y5[] = {
+ // 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_B1, ABISELECT(64,40), //bcp->offset
+ 18, //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_C31, 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
+ 11, //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_E31x0, 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
+ 6, //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 _ZTI7G31x0y5[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y5[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x0y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x0y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x0y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y5[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y5[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y5[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y5[] = {
+ {&(_ZTV7G31x0y5[5]), 5,22},
+ {&(_ZTV7G31x0y5[10]), 10,22},
+ {&(_ZTV7G31x0y5[17]), 17,22},
+ {&(_ZTV7G31x0y5[21]), 21,22},
+ {&(_ZTV7G31x0y5[13]), 13,22},
+ {&(_tg__ZTV5E31x0__7G31x0y5[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x0y5[];
+extern VTBL_ENTRY _ZTV7G31x0y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y5[];
+static VTBL_ENTRY alt_thunk_names68[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y5 = { "G31x0y5", // class name
+ bases_G31x0y5, 6,
+ &(vtc_G31x0y5[0]), // expected_vtbl_contents
+ &(vtt_G31x0y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x0y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y5),22, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y5),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names68,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y6 : E31x0 , virtual F0 {
+ int ff;
+ ~G31x0y6(); // tgen
+ G31x0y6(); // tgen
+};
+//SIG(1 G31x0y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x0y6 ::~G31x0y6(){ note_dtor("G31x0y6", this);} // tgen
+G31x0y6 ::G31x0y6(){ note_ctor("G31x0y6", this);} // tgen
+
+static void Test_G31x0y6()
+{
+ extern Class_Descriptor cd_G31x0y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x0y6, buf);
+ G31x0y6 *dp, &lv = *(dp=new (buf) G31x0y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x0y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y6)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(40,24), "G31x0y6");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(56,32), "G31x0y6");
+ check_base_class_offset(lv, (C31*)(E31x0*), 0, "G31x0y6");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(16,8), "G31x0y6");
+ check_base_class_offset(lv, (E31x0*), 0, "G31x0y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G31x0y6");
+ check_field_offset(lv, ff, ABISELECT(32,20), "G31x0y6.ff");
+ test_class_info(&lv, &cd_G31x0y6);
+ dp->~G31x0y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y6(Test_G31x0y6, "G31x0y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y6C1Ev();
+extern void _ZN7G31x0y6D1Ev();
+Name_Map name_map_G31x0y6[] = {
+ NSPAIR(_ZN7G31x0y6C1Ev),
+ NSPAIR(_ZN7G31x0y6D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x0y6[] = {
+ // 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)
+ 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(56,32), //bcp->offset
+ 13, //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_C31, 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_E31x0, 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_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 _ZTI7G31x0y6[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x0y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y6[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y6[] = {
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y6[] = {
+ ABISELECT(-56,-32),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y6[] = {
+ {&(_ZTV7G31x0y6[5]), 5,17},
+ {&(_tg__ZTV5E31x0__7G31x0y6[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y6[3]), 3,4},
+ {&(_ZTV7G31x0y6[12]), 12,17},
+ {&(_ZTV7G31x0y6[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G31x0y6[];
+extern VTBL_ENTRY _ZTV7G31x0y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y6[];
+static VTBL_ENTRY alt_thunk_names69[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn56_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y6 = { "G31x0y6", // class name
+ bases_G31x0y6, 6,
+ &(vtc_G31x0y6[0]), // expected_vtbl_contents
+ &(vtt_G31x0y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x0y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y6),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y6),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names69,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x0y7 : virtual E31x0 , virtual F0 {
+ int ff;
+ ~G31x0y7(); // tgen
+ G31x0y7(); // tgen
+};
+//SIG(1 G31x0y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x0y7 ::~G31x0y7(){ note_dtor("G31x0y7", this);} // tgen
+G31x0y7 ::G31x0y7(){ note_ctor("G31x0y7", this);} // tgen
+
+static void Test_G31x0y7()
+{
+ extern Class_Descriptor cd_G31x0y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x0y7, buf);
+ G31x0y7 *dp, &lv = *(dp=new (buf) G31x0y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x0y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x0y7)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x0*), ABISELECT(48,28), "G31x0y7");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x0*), ABISELECT(64,36), "G31x0y7");
+ check_base_class_offset(lv, (C31*)(E31x0*), ABISELECT(16,8), "G31x0y7");
+ check_base_class_offset(lv, (D1*)(E31x0*), ABISELECT(32,16), "G31x0y7");
+ check_base_class_offset(lv, (E31x0*), ABISELECT(16,8), "G31x0y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G31x0y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x0y7.ff");
+ test_class_info(&lv, &cd_G31x0y7);
+ dp->~G31x0y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x0y7(Test_G31x0y7, "G31x0y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x0y7C1Ev();
+extern void _ZN7G31x0y7D1Ev();
+Name_Map name_map_G31x0y7[] = {
+ NSPAIR(_ZN7G31x0y7C1Ev),
+ NSPAIR(_ZN7G31x0y7D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x0;
+extern VTBL_ENTRY _ZTI5E31x0[];
+extern VTBL_ENTRY _ZTV5E31x0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x0[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x0y7[] = {
+ // 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_B1, ABISELECT(64,36), //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_C31, 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
+ 3, //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)
+ 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_E31x0, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G31x0y7[];
+extern void _ZN3C313fooEv();
+extern void _ZN2D13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G31x0y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x0y7[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x0y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x0y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-28),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x0y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x0y7[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x0__7G31x0y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x0__7G31x0y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x0__7G31x0y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x0__7G31x0y7[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x0__7G31x0y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x0__7G31x0y7[] = {
+ ABISELECT(-48,-28),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x0y7[] = {
+ {&(_ZTV7G31x0y7[6]), 6,23},
+ {&(_ZTV7G31x0y7[11]), 11,23},
+ {&(_ZTV7G31x0y7[18]), 18,23},
+ {&(_ZTV7G31x0y7[22]), 22,23},
+ {&(_ZTV7G31x0y7[14]), 14,23},
+ {&(_tg__ZTV5E31x0__7G31x0y7[4]), 4,5},
+ {&(_tg__ZTV3C315E31x0__7G31x0y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x0__7G31x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x0__7G31x0y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x0__7G31x0y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x0__7G31x0y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x0y7[];
+extern VTBL_ENTRY _ZTV7G31x0y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x0y7[];
+static VTBL_ENTRY alt_thunk_names70[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x0y7 = { "G31x0y7", // class name
+ bases_G31x0y7, 6,
+ &(vtc_G31x0y7[0]), // expected_vtbl_contents
+ &(vtt_G31x0y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x0y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x0y7),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x0y7),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names70,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x1 : virtual C0 , D1 {
+ int fd;
+ ~E0x1(); // tgen
+ E0x1(); // tgen
+};
+//SIG(-1 E0x1) C1{ VBC2{ BC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E0x1 ::~E0x1(){ note_dtor("E0x1", this);} // tgen
+E0x1 ::E0x1(){ note_ctor("E0x1", this);} // tgen
+
+static void Test_E0x1()
+{
+ extern Class_Descriptor cd_E0x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x1, buf);
+ E0x1 *dp, &lv = *(dp=new (buf) E0x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x1)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "E0x1");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "E0x1");
+ check_base_class_offset(lv, (C0*), ABISELECT(16,12), "E0x1");
+ check_base_class_offset(lv, (D1*), 0, "E0x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E0x1.fd");
+ test_class_info(&lv, &cd_E0x1);
+ dp->~E0x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x1(Test_E0x1, "E0x1", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x1C1Ev();
+extern void _ZN4E0x1D1Ev();
+Name_Map name_map_E0x1[] = {
+ NSPAIR(_ZN4E0x1C1Ev),
+ NSPAIR(_ZN4E0x1D1Ev),
+ {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_E0x1[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(20,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_C0, 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_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 _ZTI4E0x1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E0x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E0x1[];
+static VTT_ENTRY vtt_E0x1[] = {
+ {&(_ZTV4E0x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+Class_Descriptor cd_E0x1 = { "E0x1", // class name
+ bases_E0x1, 4,
+ &(vtc_E0x1[0]), // expected_vtbl_contents
+ &(vtt_E0x1[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x1),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x1),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 G0x1y0 : E0x1 , F1 {
+ int ff;
+ ~G0x1y0(); // tgen
+ G0x1y0(); // tgen
+};
+//SIG(1 G0x1y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x1y0 ::~G0x1y0(){ note_dtor("G0x1y0", this);} // tgen
+G0x1y0 ::G0x1y0(){ note_ctor("G0x1y0", this);} // tgen
+
+static void Test_G0x1y0()
+{
+ extern Class_Descriptor cd_G0x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x1y0, buf);
+ G0x1y0 *dp, &lv = *(dp=new (buf) G0x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y0)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x1y0");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x1y0");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(32,24), "G0x1y0");
+ check_base_class_offset(lv, (D1*)(E0x1*), 0, "G0x1y0");
+ check_base_class_offset(lv, (E0x1*), 0, "G0x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G0x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G0x1y0.ff");
+ test_class_info(&lv, &cd_G0x1y0);
+ dp->~G0x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y0(Test_G0x1y0, "G0x1y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y0C1Ev();
+extern void _ZN6G0x1y0D1Ev();
+Name_Map name_map_G0x1y0[] = {
+ NSPAIR(_ZN6G0x1y0C1Ev),
+ NSPAIR(_ZN6G0x1y0D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x1y0[] = {
+ // 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, 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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E0x1, 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_F1, 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 _ZTI6G0x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y0[] = {
+ {&(_ZTV6G0x1y0[3]), 3,7},
+ {&(_tg__ZTV4E0x1__6G0x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y0[];
+extern VTBL_ENTRY _ZTV6G0x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y0[];
+Class_Descriptor cd_G0x1y0 = { "G0x1y0", // class name
+ bases_G0x1y0, 6,
+ &(vtc_G0x1y0[0]), // expected_vtbl_contents
+ &(vtt_G0x1y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y0),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 G0x1y1 : virtual E0x1 , F1 {
+ int ff;
+ ~G0x1y1(); // tgen
+ G0x1y1(); // tgen
+};
+//SIG(1 G0x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x1y1 ::~G0x1y1(){ note_dtor("G0x1y1", this);} // tgen
+G0x1y1 ::G0x1y1(){ note_ctor("G0x1y1", this);} // tgen
+
+static void Test_G0x1y1()
+{
+ extern Class_Descriptor cd_G0x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x1y1, buf);
+ G0x1y1 *dp, &lv = *(dp=new (buf) G0x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y1)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x1y1");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x1y1");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(32,24), "G0x1y1");
+ check_base_class_offset(lv, (D1*)(E0x1*), ABISELECT(16,12), "G0x1y1");
+ check_base_class_offset(lv, (E0x1*), ABISELECT(16,12), "G0x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x1y1.ff");
+ test_class_info(&lv, &cd_G0x1y1);
+ dp->~G0x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y1(Test_G0x1y1, "G0x1y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y1C1Ev();
+extern void _ZN6G0x1y1D1Ev();
+Name_Map name_map_G0x1y1[] = {
+ NSPAIR(_ZN6G0x1y1C1Ev),
+ NSPAIR(_ZN6G0x1y1D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x1y1[] = {
+ // 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, 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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E0x1, 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
+ 3, //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 _ZTI6G0x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y1[] = {
+ {&(_ZTV6G0x1y1[4]), 4,10},
+ {&(_ZTV6G0x1y1[9]), 9,10},
+ {&(_tg__ZTV4E0x1__6G0x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y1[];
+extern VTBL_ENTRY _ZTV6G0x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y1[];
+Class_Descriptor cd_G0x1y1 = { "G0x1y1", // class name
+ bases_G0x1y1, 6,
+ &(vtc_G0x1y1[0]), // expected_vtbl_contents
+ &(vtt_G0x1y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y1),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 G0x1y2 : E0x1 , virtual F1 {
+ int ff;
+ ~G0x1y2(); // tgen
+ G0x1y2(); // tgen
+};
+//SIG(1 G0x1y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x1y2 ::~G0x1y2(){ note_dtor("G0x1y2", this);} // tgen
+G0x1y2 ::G0x1y2(){ note_ctor("G0x1y2", this);} // tgen
+
+static void Test_G0x1y2()
+{
+ extern Class_Descriptor cd_G0x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x1y2, buf);
+ G0x1y2 *dp, &lv = *(dp=new (buf) G0x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y2)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x1y2");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x1y2");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(20,16), "G0x1y2");
+ check_base_class_offset(lv, (D1*)(E0x1*), 0, "G0x1y2");
+ check_base_class_offset(lv, (E0x1*), 0, "G0x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x1y2.ff");
+ test_class_info(&lv, &cd_G0x1y2);
+ dp->~G0x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y2(Test_G0x1y2, "G0x1y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y2C1Ev();
+extern void _ZN6G0x1y2D1Ev();
+Name_Map name_map_G0x1y2[] = {
+ NSPAIR(_ZN6G0x1y2C1Ev),
+ NSPAIR(_ZN6G0x1y2D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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(24,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(20,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, 1},
+ {&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_E0x1, 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,28), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x1y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y2[] = {
+ {&(_ZTV6G0x1y2[4]), 4,9},
+ {&(_tg__ZTV4E0x1__6G0x1y2[3]), 3,4},
+ {&(_ZTV6G0x1y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G0x1y2[];
+extern VTBL_ENTRY _ZTV6G0x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y2[];
+Class_Descriptor cd_G0x1y2 = { "G0x1y2", // class name
+ bases_G0x1y2, 6,
+ &(vtc_G0x1y2[0]), // expected_vtbl_contents
+ &(vtt_G0x1y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y2),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 G0x1y3 : virtual E0x1 , virtual F1 {
+ int ff;
+ ~G0x1y3(); // tgen
+ G0x1y3(); // tgen
+};
+//SIG(1 G0x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x1y3 ::~G0x1y3(){ note_dtor("G0x1y3", this);} // tgen
+G0x1y3 ::G0x1y3(){ note_ctor("G0x1y3", this);} // tgen
+
+static void Test_G0x1y3()
+{
+ extern Class_Descriptor cd_G0x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x1y3, buf);
+ G0x1y3 *dp, &lv = *(dp=new (buf) G0x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y3)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x1y3");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x1y3");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(32,20), "G0x1y3");
+ check_base_class_offset(lv, (D1*)(E0x1*), ABISELECT(16,8), "G0x1y3");
+ check_base_class_offset(lv, (E0x1*), ABISELECT(16,8), "G0x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x1y3.ff");
+ test_class_info(&lv, &cd_G0x1y3);
+ dp->~G0x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y3(Test_G0x1y3, "G0x1y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y3C1Ev();
+extern void _ZN6G0x1y3D1Ev();
+Name_Map name_map_G0x1y3[] = {
+ NSPAIR(_ZN6G0x1y3C1Ev),
+ NSPAIR(_ZN6G0x1y3D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x1y3[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E0x1, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(48,32), //bcp->offset
+ 10, //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 _ZTI6G0x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x1y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y3[] = {
+ {&(_ZTV6G0x1y3[5]), 5,14},
+ {&(_ZTV6G0x1y3[9]), 9,14},
+ {&(_ZTV6G0x1y3[13]), 13,14},
+ {&(_tg__ZTV4E0x1__6G0x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y3[];
+extern VTBL_ENTRY _ZTV6G0x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y3[];
+Class_Descriptor cd_G0x1y3 = { "G0x1y3", // class name
+ bases_G0x1y3, 6,
+ &(vtc_G0x1y3[0]), // expected_vtbl_contents
+ &(vtt_G0x1y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y3),4, //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 G0x1y4 : E0x1 , F0 {
+ int ff;
+ ~G0x1y4(); // tgen
+ G0x1y4(); // tgen
+};
+//SIG(1 G0x1y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x1y4 ::~G0x1y4(){ note_dtor("G0x1y4", this);} // tgen
+G0x1y4 ::G0x1y4(){ note_ctor("G0x1y4", this);} // tgen
+
+static void Test_G0x1y4()
+{
+ extern Class_Descriptor cd_G0x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x1y4, buf);
+ G0x1y4 *dp, &lv = *(dp=new (buf) G0x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y4)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(24,20), "G0x1y4");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(28,24), "G0x1y4");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(24,20), "G0x1y4");
+ check_base_class_offset(lv, (D1*)(E0x1*), 0, "G0x1y4");
+ check_base_class_offset(lv, (E0x1*), 0, "G0x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G0x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G0x1y4.ff");
+ test_class_info(&lv, &cd_G0x1y4);
+ dp->~G0x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y4(Test_G0x1y4, "G0x1y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y4C1Ev();
+extern void _ZN6G0x1y4D1Ev();
+Name_Map name_map_G0x1y4[] = {
+ NSPAIR(_ZN6G0x1y4C1Ev),
+ NSPAIR(_ZN6G0x1y4D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, ABISELECT(24,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, 1},
+ {&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_E0x1, 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_F0, 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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y4[] = {
+ {&(_ZTV6G0x1y4[3]), 3,4},
+ {&(_tg__ZTV4E0x1__6G0x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y4[];
+extern VTBL_ENTRY _ZTV6G0x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y4[];
+Class_Descriptor cd_G0x1y4 = { "G0x1y4", // class name
+ bases_G0x1y4, 6,
+ &(vtc_G0x1y4[0]), // expected_vtbl_contents
+ &(vtt_G0x1y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y4),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 G0x1y5 : virtual E0x1 , F0 {
+ int ff;
+ ~G0x1y5(); // tgen
+ G0x1y5(); // tgen
+};
+//SIG(1 G0x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x1y5 ::~G0x1y5(){ note_dtor("G0x1y5", this);} // tgen
+G0x1y5 ::G0x1y5(){ note_ctor("G0x1y5", this);} // tgen
+
+static void Test_G0x1y5()
+{
+ extern Class_Descriptor cd_G0x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x1y5, buf);
+ G0x1y5 *dp, &lv = *(dp=new (buf) G0x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y5)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x1y5");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x1y5");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(32,24), "G0x1y5");
+ check_base_class_offset(lv, (D1*)(E0x1*), ABISELECT(16,12), "G0x1y5");
+ check_base_class_offset(lv, (E0x1*), ABISELECT(16,12), "G0x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x1y5.ff");
+ test_class_info(&lv, &cd_G0x1y5);
+ dp->~G0x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y5(Test_G0x1y5, "G0x1y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y5C1Ev();
+extern void _ZN6G0x1y5D1Ev();
+Name_Map name_map_G0x1y5[] = {
+ NSPAIR(_ZN6G0x1y5C1Ev),
+ NSPAIR(_ZN6G0x1y5D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x1y5[] = {
+ // 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, 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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E0x1, 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
+ 3, //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 _ZTI6G0x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y5[] = {
+ {&(_ZTV6G0x1y5[4]), 4,9},
+ {&(_ZTV6G0x1y5[8]), 8,9},
+ {&(_tg__ZTV4E0x1__6G0x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y5[];
+extern VTBL_ENTRY _ZTV6G0x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y5[];
+Class_Descriptor cd_G0x1y5 = { "G0x1y5", // class name
+ bases_G0x1y5, 6,
+ &(vtc_G0x1y5[0]), // expected_vtbl_contents
+ &(vtt_G0x1y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y5),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 G0x1y6 : E0x1 , virtual F0 {
+ int ff;
+ ~G0x1y6(); // tgen
+ G0x1y6(); // tgen
+};
+//SIG(1 G0x1y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x1y6 ::~G0x1y6(){ note_dtor("G0x1y6", this);} // tgen
+G0x1y6 ::G0x1y6(){ note_ctor("G0x1y6", this);} // tgen
+
+static void Test_G0x1y6()
+{
+ extern Class_Descriptor cd_G0x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x1y6, buf);
+ G0x1y6 *dp, &lv = *(dp=new (buf) G0x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y6)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x1y6");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x1y6");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(20,16), "G0x1y6");
+ check_base_class_offset(lv, (D1*)(E0x1*), 0, "G0x1y6");
+ check_base_class_offset(lv, (E0x1*), 0, "G0x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x1y6.ff");
+ test_class_info(&lv, &cd_G0x1y6);
+ dp->~G0x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y6(Test_G0x1y6, "G0x1y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y6C1Ev();
+extern void _ZN6G0x1y6D1Ev();
+Name_Map name_map_G0x1y6[] = {
+ NSPAIR(_ZN6G0x1y6C1Ev),
+ NSPAIR(_ZN6G0x1y6D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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(24,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(20,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, 1},
+ {&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_E0x1, 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_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 _ZTI6G0x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x1y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y6[] = {
+ {&(_ZTV6G0x1y6[4]), 4,5},
+ {&(_tg__ZTV4E0x1__6G0x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y6[];
+extern VTBL_ENTRY _ZTV6G0x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y6[];
+Class_Descriptor cd_G0x1y6 = { "G0x1y6", // class name
+ bases_G0x1y6, 6,
+ &(vtc_G0x1y6[0]), // expected_vtbl_contents
+ &(vtt_G0x1y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y6),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 G0x1y7 : virtual E0x1 , virtual F0 {
+ int ff;
+ ~G0x1y7(); // tgen
+ G0x1y7(); // tgen
+};
+//SIG(1 G0x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x1y7 ::~G0x1y7(){ note_dtor("G0x1y7", this);} // tgen
+G0x1y7 ::G0x1y7(){ note_ctor("G0x1y7", this);} // tgen
+
+static void Test_G0x1y7()
+{
+ extern Class_Descriptor cd_G0x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x1y7, buf);
+ G0x1y7 *dp, &lv = *(dp=new (buf) G0x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x1y7)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x1y7");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x1y7");
+ check_base_class_offset(lv, (C0*)(E0x1*), ABISELECT(32,20), "G0x1y7");
+ check_base_class_offset(lv, (D1*)(E0x1*), ABISELECT(16,8), "G0x1y7");
+ check_base_class_offset(lv, (E0x1*), ABISELECT(16,8), "G0x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x1y7.ff");
+ test_class_info(&lv, &cd_G0x1y7);
+ dp->~G0x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x1y7(Test_G0x1y7, "G0x1y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x1y7C1Ev();
+extern void _ZN6G0x1y7D1Ev();
+Name_Map name_map_G0x1y7[] = {
+ NSPAIR(_ZN6G0x1y7C1Ev),
+ NSPAIR(_ZN6G0x1y7D1Ev),
+ {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_E0x1;
+extern VTBL_ENTRY _ZTI4E0x1[];
+extern VTBL_ENTRY _ZTV4E0x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x1y7[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E0x1, 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
+ 3, //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 _ZTI6G0x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x1y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E0x1__6G0x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x1y7[] = {
+ {&(_ZTV6G0x1y7[5]), 5,10},
+ {&(_ZTV6G0x1y7[9]), 9,10},
+ {&(_tg__ZTV4E0x1__6G0x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x1y7[];
+extern VTBL_ENTRY _ZTV6G0x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x1y7[];
+Class_Descriptor cd_G0x1y7 = { "G0x1y7", // class name
+ bases_G0x1y7, 6,
+ &(vtc_G0x1y7[0]), // expected_vtbl_contents
+ &(vtt_G0x1y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x1y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x1y7),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 E1x1 : virtual C1 , D1 {
+ int fd;
+ ~E1x1(); // tgen
+ E1x1(); // tgen
+};
+//SIG(-1 E1x1) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E1x1 ::~E1x1(){ note_dtor("E1x1", this);} // tgen
+E1x1 ::E1x1(){ note_ctor("E1x1", this);} // tgen
+
+static void Test_E1x1()
+{
+ extern Class_Descriptor cd_E1x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x1, buf);
+ E1x1 *dp, &lv = *(dp=new (buf) E1x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x1)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "E1x1");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "E1x1");
+ check_base_class_offset(lv, (C1*), ABISELECT(16,12), "E1x1");
+ check_base_class_offset(lv, (D1*), 0, "E1x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E1x1.fd");
+ test_class_info(&lv, &cd_E1x1);
+ dp->~E1x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x1(Test_E1x1, "E1x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x1C1Ev();
+extern void _ZN4E1x1D1Ev();
+Name_Map name_map_E1x1[] = {
+ NSPAIR(_ZN4E1x1C1Ev),
+ NSPAIR(_ZN4E1x1D1Ev),
+ {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_E1x1[] = {
+ // 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)
+ 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
+ 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_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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E1x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x1[];
+static VTT_ENTRY vtt_E1x1[] = {
+ {&(_ZTV4E1x1[3]), 3,8},
+ {&(_ZTV4E1x1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+Class_Descriptor cd_E1x1 = { "E1x1", // class name
+ bases_E1x1, 4,
+ &(vtc_E1x1[0]), // expected_vtbl_contents
+ &(vtt_E1x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x1),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 G1x1y0 : E1x1 , F1 {
+ int ff;
+ ~G1x1y0(); // tgen
+ G1x1y0(); // tgen
+};
+//SIG(1 G1x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x1y0 ::~G1x1y0(){ note_dtor("G1x1y0", this);} // tgen
+G1x1y0 ::G1x1y0(){ note_ctor("G1x1y0", this);} // tgen
+
+static void Test_G1x1y0()
+{
+ extern Class_Descriptor cd_G1x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x1y0, buf);
+ G1x1y0 *dp, &lv = *(dp=new (buf) G1x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y0)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x1y0");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x1y0");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(32,24), "G1x1y0");
+ check_base_class_offset(lv, (D1*)(E1x1*), 0, "G1x1y0");
+ check_base_class_offset(lv, (E1x1*), 0, "G1x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G1x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G1x1y0.ff");
+ test_class_info(&lv, &cd_G1x1y0);
+ dp->~G1x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y0(Test_G1x1y0, "G1x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y0C1Ev();
+extern void _ZN6G1x1y0D1Ev();
+Name_Map name_map_G1x1y0[] = {
+ NSPAIR(_ZN6G1x1y0C1Ev),
+ NSPAIR(_ZN6G1x1y0D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x1y0[] = {
+ // 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)
+ 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(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, 0},
+ {&cd_C1, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y0[] = {
+ {&(_ZTV6G1x1y0[3]), 3,11},
+ {&(_tg__ZTV4E1x1__6G1x1y0[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y0[3]), 3,4},
+ {&(_ZTV6G1x1y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x1y0[];
+extern VTBL_ENTRY _ZTV6G1x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y0[];
+Class_Descriptor cd_G1x1y0 = { "G1x1y0", // class name
+ bases_G1x1y0, 6,
+ &(vtc_G1x1y0[0]), // expected_vtbl_contents
+ &(vtt_G1x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y0),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 G1x1y1 : virtual E1x1 , F1 {
+ int ff;
+ ~G1x1y1(); // tgen
+ G1x1y1(); // tgen
+};
+//SIG(1 G1x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x1y1 ::~G1x1y1(){ note_dtor("G1x1y1", this);} // tgen
+G1x1y1 ::G1x1y1(){ note_ctor("G1x1y1", this);} // tgen
+
+static void Test_G1x1y1()
+{
+ extern Class_Descriptor cd_G1x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x1y1, buf);
+ G1x1y1 *dp, &lv = *(dp=new (buf) G1x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y1)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x1y1");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x1y1");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(32,24), "G1x1y1");
+ check_base_class_offset(lv, (D1*)(E1x1*), ABISELECT(16,12), "G1x1y1");
+ check_base_class_offset(lv, (E1x1*), ABISELECT(16,12), "G1x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x1y1.ff");
+ test_class_info(&lv, &cd_G1x1y1);
+ dp->~G1x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y1(Test_G1x1y1, "G1x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y1C1Ev();
+extern void _ZN6G1x1y1D1Ev();
+Name_Map name_map_G1x1y1[] = {
+ NSPAIR(_ZN6G1x1y1C1Ev),
+ NSPAIR(_ZN6G1x1y1D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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 _ZTI6G1x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y1[] = {
+ {&(_ZTV6G1x1y1[4]), 4,14},
+ {&(_ZTV6G1x1y1[9]), 9,14},
+ {&(_ZTV6G1x1y1[13]), 13,14},
+ {&(_tg__ZTV4E1x1__6G1x1y1[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x1y1[];
+extern VTBL_ENTRY _ZTV6G1x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y1[];
+Class_Descriptor cd_G1x1y1 = { "G1x1y1", // class name
+ bases_G1x1y1, 6,
+ &(vtc_G1x1y1[0]), // expected_vtbl_contents
+ &(vtt_G1x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y1),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 G1x1y2 : E1x1 , virtual F1 {
+ int ff;
+ ~G1x1y2(); // tgen
+ G1x1y2(); // tgen
+};
+//SIG(1 G1x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x1y2 ::~G1x1y2(){ note_dtor("G1x1y2", this);} // tgen
+G1x1y2 ::G1x1y2(){ note_ctor("G1x1y2", this);} // tgen
+
+static void Test_G1x1y2()
+{
+ extern Class_Descriptor cd_G1x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x1y2, buf);
+ G1x1y2 *dp, &lv = *(dp=new (buf) G1x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y2)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x1y2");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x1y2");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(24,16), "G1x1y2");
+ check_base_class_offset(lv, (D1*)(E1x1*), 0, "G1x1y2");
+ check_base_class_offset(lv, (E1x1*), 0, "G1x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x1y2.ff");
+ test_class_info(&lv, &cd_G1x1y2);
+ dp->~G1x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y2(Test_G1x1y2, "G1x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y2C1Ev();
+extern void _ZN6G1x1y2D1Ev();
+Name_Map name_map_G1x1y2[] = {
+ NSPAIR(_ZN6G1x1y2C1Ev),
+ NSPAIR(_ZN6G1x1y2D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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,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_C1, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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(48,32), //bcp->offset
+ 9, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y2[] = {
+ {&(_ZTV6G1x1y2[4]), 4,13},
+ {&(_tg__ZTV4E1x1__6G1x1y2[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y2[3]), 3,4},
+ {&(_ZTV6G1x1y2[8]), 8,13},
+ {&(_ZTV6G1x1y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G1x1y2[];
+extern VTBL_ENTRY _ZTV6G1x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y2[];
+Class_Descriptor cd_G1x1y2 = { "G1x1y2", // class name
+ bases_G1x1y2, 6,
+ &(vtc_G1x1y2[0]), // expected_vtbl_contents
+ &(vtt_G1x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y2),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 G1x1y3 : virtual E1x1 , virtual F1 {
+ int ff;
+ ~G1x1y3(); // tgen
+ G1x1y3(); // tgen
+};
+//SIG(1 G1x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x1y3 ::~G1x1y3(){ note_dtor("G1x1y3", this);} // tgen
+G1x1y3 ::G1x1y3(){ note_ctor("G1x1y3", this);} // tgen
+
+static void Test_G1x1y3()
+{
+ extern Class_Descriptor cd_G1x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x1y3, buf);
+ G1x1y3 *dp, &lv = *(dp=new (buf) G1x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y3)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x1y3");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x1y3");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(32,20), "G1x1y3");
+ check_base_class_offset(lv, (D1*)(E1x1*), ABISELECT(16,8), "G1x1y3");
+ check_base_class_offset(lv, (E1x1*), ABISELECT(16,8), "G1x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x1y3.ff");
+ test_class_info(&lv, &cd_G1x1y3);
+ dp->~G1x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y3(Test_G1x1y3, "G1x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y3C1Ev();
+extern void _ZN6G1x1y3D1Ev();
+Name_Map name_map_G1x1y3[] = {
+ NSPAIR(_ZN6G1x1y3C1Ev),
+ NSPAIR(_ZN6G1x1y3D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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
+ 14, //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 _ZTI6G1x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y3[] = {
+ {&(_ZTV6G1x1y3[5]), 5,18},
+ {&(_ZTV6G1x1y3[9]), 9,18},
+ {&(_ZTV6G1x1y3[13]), 13,18},
+ {&(_ZTV6G1x1y3[17]), 17,18},
+ {&(_tg__ZTV4E1x1__6G1x1y3[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x1y3[];
+extern VTBL_ENTRY _ZTV6G1x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y3[];
+Class_Descriptor cd_G1x1y3 = { "G1x1y3", // class name
+ bases_G1x1y3, 6,
+ &(vtc_G1x1y3[0]), // expected_vtbl_contents
+ &(vtt_G1x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y3),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 G1x1y4 : E1x1 , F0 {
+ int ff;
+ ~G1x1y4(); // tgen
+ G1x1y4(); // tgen
+};
+//SIG(1 G1x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x1y4 ::~G1x1y4(){ note_dtor("G1x1y4", this);} // tgen
+G1x1y4 ::G1x1y4(){ note_ctor("G1x1y4", this);} // tgen
+
+static void Test_G1x1y4()
+{
+ extern Class_Descriptor cd_G1x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x1y4, buf);
+ G1x1y4 *dp, &lv = *(dp=new (buf) G1x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y4)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,20), "G1x1y4");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,28), "G1x1y4");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(24,20), "G1x1y4");
+ check_base_class_offset(lv, (D1*)(E1x1*), 0, "G1x1y4");
+ check_base_class_offset(lv, (E1x1*), 0, "G1x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G1x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G1x1y4.ff");
+ test_class_info(&lv, &cd_G1x1y4);
+ dp->~G1x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y4(Test_G1x1y4, "G1x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y4C1Ev();
+extern void _ZN6G1x1y4D1Ev();
+Name_Map name_map_G1x1y4[] = {
+ NSPAIR(_ZN6G1x1y4C1Ev),
+ NSPAIR(_ZN6G1x1y4D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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, 0},
+ {&cd_C1, ABISELECT(24,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y4[] = {
+ {&(_ZTV6G1x1y4[3]), 3,8},
+ {&(_tg__ZTV4E1x1__6G1x1y4[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y4[3]), 3,4},
+ {&(_ZTV6G1x1y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x1y4[];
+extern VTBL_ENTRY _ZTV6G1x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y4[];
+Class_Descriptor cd_G1x1y4 = { "G1x1y4", // class name
+ bases_G1x1y4, 6,
+ &(vtc_G1x1y4[0]), // expected_vtbl_contents
+ &(vtt_G1x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y4),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 G1x1y5 : virtual E1x1 , F0 {
+ int ff;
+ ~G1x1y5(); // tgen
+ G1x1y5(); // tgen
+};
+//SIG(1 G1x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x1y5 ::~G1x1y5(){ note_dtor("G1x1y5", this);} // tgen
+G1x1y5 ::G1x1y5(){ note_ctor("G1x1y5", this);} // tgen
+
+static void Test_G1x1y5()
+{
+ extern Class_Descriptor cd_G1x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x1y5, buf);
+ G1x1y5 *dp, &lv = *(dp=new (buf) G1x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y5)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x1y5");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x1y5");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(32,24), "G1x1y5");
+ check_base_class_offset(lv, (D1*)(E1x1*), ABISELECT(16,12), "G1x1y5");
+ check_base_class_offset(lv, (E1x1*), ABISELECT(16,12), "G1x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x1y5.ff");
+ test_class_info(&lv, &cd_G1x1y5);
+ dp->~G1x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y5(Test_G1x1y5, "G1x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y5C1Ev();
+extern void _ZN6G1x1y5D1Ev();
+Name_Map name_map_G1x1y5[] = {
+ NSPAIR(_ZN6G1x1y5C1Ev),
+ NSPAIR(_ZN6G1x1y5D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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 _ZTI6G1x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y5[] = {
+ {&(_ZTV6G1x1y5[4]), 4,13},
+ {&(_ZTV6G1x1y5[8]), 8,13},
+ {&(_ZTV6G1x1y5[12]), 12,13},
+ {&(_tg__ZTV4E1x1__6G1x1y5[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x1y5[];
+extern VTBL_ENTRY _ZTV6G1x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y5[];
+Class_Descriptor cd_G1x1y5 = { "G1x1y5", // class name
+ bases_G1x1y5, 6,
+ &(vtc_G1x1y5[0]), // expected_vtbl_contents
+ &(vtt_G1x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y5),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 G1x1y6 : E1x1 , virtual F0 {
+ int ff;
+ ~G1x1y6(); // tgen
+ G1x1y6(); // tgen
+};
+//SIG(1 G1x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x1y6 ::~G1x1y6(){ note_dtor("G1x1y6", this);} // tgen
+G1x1y6 ::G1x1y6(){ note_ctor("G1x1y6", this);} // tgen
+
+static void Test_G1x1y6()
+{
+ extern Class_Descriptor cd_G1x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x1y6, buf);
+ G1x1y6 *dp, &lv = *(dp=new (buf) G1x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y6)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x1y6");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x1y6");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(24,16), "G1x1y6");
+ check_base_class_offset(lv, (D1*)(E1x1*), 0, "G1x1y6");
+ check_base_class_offset(lv, (E1x1*), 0, "G1x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x1y6.ff");
+ test_class_info(&lv, &cd_G1x1y6);
+ dp->~G1x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y6(Test_G1x1y6, "G1x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y6C1Ev();
+extern void _ZN6G1x1y6D1Ev();
+Name_Map name_map_G1x1y6[] = {
+ NSPAIR(_ZN6G1x1y6C1Ev),
+ NSPAIR(_ZN6G1x1y6D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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,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_C1, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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(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 _ZTI6G1x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y6[] = {
+ {&(_ZTV6G1x1y6[4]), 4,9},
+ {&(_tg__ZTV4E1x1__6G1x1y6[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y6[3]), 3,4},
+ {&(_ZTV6G1x1y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G1x1y6[];
+extern VTBL_ENTRY _ZTV6G1x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y6[];
+Class_Descriptor cd_G1x1y6 = { "G1x1y6", // class name
+ bases_G1x1y6, 6,
+ &(vtc_G1x1y6[0]), // expected_vtbl_contents
+ &(vtt_G1x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y6),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 G1x1y7 : virtual E1x1 , virtual F0 {
+ int ff;
+ ~G1x1y7(); // tgen
+ G1x1y7(); // tgen
+};
+//SIG(1 G1x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x1y7 ::~G1x1y7(){ note_dtor("G1x1y7", this);} // tgen
+G1x1y7 ::G1x1y7(){ note_ctor("G1x1y7", this);} // tgen
+
+static void Test_G1x1y7()
+{
+ extern Class_Descriptor cd_G1x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x1y7, buf);
+ G1x1y7 *dp, &lv = *(dp=new (buf) G1x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x1y7)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x1y7");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x1y7");
+ check_base_class_offset(lv, (C1*)(E1x1*), ABISELECT(32,20), "G1x1y7");
+ check_base_class_offset(lv, (D1*)(E1x1*), ABISELECT(16,8), "G1x1y7");
+ check_base_class_offset(lv, (E1x1*), ABISELECT(16,8), "G1x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G1x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x1y7.ff");
+ test_class_info(&lv, &cd_G1x1y7);
+ dp->~G1x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x1y7(Test_G1x1y7, "G1x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x1y7C1Ev();
+extern void _ZN6G1x1y7D1Ev();
+Name_Map name_map_G1x1y7[] = {
+ NSPAIR(_ZN6G1x1y7C1Ev),
+ NSPAIR(_ZN6G1x1y7D1Ev),
+ {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_E1x1;
+extern VTBL_ENTRY _ZTI4E1x1[];
+extern VTBL_ENTRY _ZTV4E1x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x1, 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 _ZTI6G1x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x1__6G1x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x1__6G1x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x1y7[] = {
+ {&(_ZTV6G1x1y7[5]), 5,14},
+ {&(_ZTV6G1x1y7[9]), 9,14},
+ {&(_ZTV6G1x1y7[13]), 13,14},
+ {&(_tg__ZTV4E1x1__6G1x1y7[3]), 3,4},
+ {&(_tg__ZTV2A12C1__4E1x1__6G1x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x1y7[];
+extern VTBL_ENTRY _ZTV6G1x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x1y7[];
+Class_Descriptor cd_G1x1y7 = { "G1x1y7", // class name
+ bases_G1x1y7, 6,
+ &(vtc_G1x1y7[0]), // expected_vtbl_contents
+ &(vtt_G1x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x1y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x1y7),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 E2x1 : virtual C2 , D1 {
+ int fd;
+ ~E2x1(); // tgen
+ E2x1(); // tgen
+};
+//SIG(-1 E2x1) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E2x1 ::~E2x1(){ note_dtor("E2x1", this);} // tgen
+E2x1 ::E2x1(){ note_ctor("E2x1", this);} // tgen
+
+static void Test_E2x1()
+{
+ extern Class_Descriptor cd_E2x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x1, buf);
+ E2x1 *dp, &lv = *(dp=new (buf) E2x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x1)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "E2x1");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "E2x1");
+ check_base_class_offset(lv, (C2*), ABISELECT(16,12), "E2x1");
+ check_base_class_offset(lv, (D1*), 0, "E2x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E2x1.fd");
+ test_class_info(&lv, &cd_E2x1);
+ dp->~E2x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x1(Test_E2x1, "E2x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x1C1Ev();
+extern void _ZN4E2x1D1Ev();
+Name_Map name_map_E2x1[] = {
+ NSPAIR(_ZN4E2x1C1Ev),
+ NSPAIR(_ZN4E2x1D1Ev),
+ {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_E2x1[] = {
+ // 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(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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E2x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+extern VTBL_ENTRY _ZTV4E2x1[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x1[] = {
+ {&(_ZTV4E2x1[4]), 4,8},
+ {&(_ZTV4E2x1[8]), 8,8},
+ {&(_tg__ZTV2C2__4E2x1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+Class_Descriptor cd_E2x1 = { "E2x1", // class name
+ bases_E2x1, 4,
+ &(vtc_E2x1[0]), // expected_vtbl_contents
+ &(vtt_E2x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x1),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 G2x1y0 : E2x1 , F1 {
+ int ff;
+ ~G2x1y0(); // tgen
+ G2x1y0(); // tgen
+};
+//SIG(1 G2x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x1y0 ::~G2x1y0(){ note_dtor("G2x1y0", this);} // tgen
+G2x1y0 ::G2x1y0(){ note_ctor("G2x1y0", this);} // tgen
+
+static void Test_G2x1y0()
+{
+ extern Class_Descriptor cd_G2x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x1y0, buf);
+ G2x1y0 *dp, &lv = *(dp=new (buf) G2x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y0)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x1y0");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x1y0");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(32,24), "G2x1y0");
+ check_base_class_offset(lv, (D1*)(E2x1*), 0, "G2x1y0");
+ check_base_class_offset(lv, (E2x1*), 0, "G2x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G2x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G2x1y0.ff");
+ test_class_info(&lv, &cd_G2x1y0);
+ dp->~G2x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y0(Test_G2x1y0, "G2x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y0C1Ev();
+extern void _ZN6G2x1y0D1Ev();
+Name_Map name_map_G2x1y0[] = {
+ NSPAIR(_ZN6G2x1y0C1Ev),
+ NSPAIR(_ZN6G2x1y0D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x1y0[] = {
+ // 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(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, 0},
+ {&cd_C2, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E2x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x1y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y0[] = {
+ {&(_ZTV6G2x1y0[4]), 4,11},
+ {&(_tg__ZTV4E2x1__6G2x1y0[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y0[3]), 3,3},
+ {&(_ZTV6G2x1y0[11]), 11,11},
+ {&(_tg__ZTV2C2__6G2x1y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y0[];
+extern VTBL_ENTRY _ZTV6G2x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y0[];
+Class_Descriptor cd_G2x1y0 = { "G2x1y0", // class name
+ bases_G2x1y0, 6,
+ &(vtc_G2x1y0[0]), // expected_vtbl_contents
+ &(vtt_G2x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y0),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 G2x1y1 : virtual E2x1 , F1 {
+ int ff;
+ ~G2x1y1(); // tgen
+ G2x1y1(); // tgen
+};
+//SIG(1 G2x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x1y1 ::~G2x1y1(){ note_dtor("G2x1y1", this);} // tgen
+G2x1y1 ::G2x1y1(){ note_ctor("G2x1y1", this);} // tgen
+
+static void Test_G2x1y1()
+{
+ extern Class_Descriptor cd_G2x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x1y1, buf);
+ G2x1y1 *dp, &lv = *(dp=new (buf) G2x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y1)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x1y1");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x1y1");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(32,24), "G2x1y1");
+ check_base_class_offset(lv, (D1*)(E2x1*), ABISELECT(16,12), "G2x1y1");
+ check_base_class_offset(lv, (E2x1*), ABISELECT(16,12), "G2x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x1y1.ff");
+ test_class_info(&lv, &cd_G2x1y1);
+ dp->~G2x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y1(Test_G2x1y1, "G2x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y1C1Ev();
+extern void _ZN6G2x1y1D1Ev();
+Name_Map name_map_G2x1y1[] = {
+ NSPAIR(_ZN6G2x1y1C1Ev),
+ NSPAIR(_ZN6G2x1y1D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x1y1[] = {
+ // 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(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, 0},
+ {&cd_C2, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x1, 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 _ZTI6G2x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x1y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y1[] = {
+ {&(_ZTV6G2x1y1[5]), 5,15},
+ {&(_ZTV6G2x1y1[11]), 11,15},
+ {&(_ZTV6G2x1y1[15]), 15,15},
+ {&(_tg__ZTV4E2x1__6G2x1y1[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y1[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x1y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y1[];
+extern VTBL_ENTRY _ZTV6G2x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y1[];
+Class_Descriptor cd_G2x1y1 = { "G2x1y1", // class name
+ bases_G2x1y1, 6,
+ &(vtc_G2x1y1[0]), // expected_vtbl_contents
+ &(vtt_G2x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y1),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 G2x1y2 : E2x1 , virtual F1 {
+ int ff;
+ ~G2x1y2(); // tgen
+ G2x1y2(); // tgen
+};
+//SIG(1 G2x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x1y2 ::~G2x1y2(){ note_dtor("G2x1y2", this);} // tgen
+G2x1y2 ::G2x1y2(){ note_ctor("G2x1y2", this);} // tgen
+
+static void Test_G2x1y2()
+{
+ extern Class_Descriptor cd_G2x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x1y2, buf);
+ G2x1y2 *dp, &lv = *(dp=new (buf) G2x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y2)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x1y2");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x1y2");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(24,16), "G2x1y2");
+ check_base_class_offset(lv, (D1*)(E2x1*), 0, "G2x1y2");
+ check_base_class_offset(lv, (E2x1*), 0, "G2x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G2x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x1y2.ff");
+ test_class_info(&lv, &cd_G2x1y2);
+ dp->~G2x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y2(Test_G2x1y2, "G2x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y2C1Ev();
+extern void _ZN6G2x1y2D1Ev();
+Name_Map name_map_G2x1y2[] = {
+ NSPAIR(_ZN6G2x1y2C1Ev),
+ NSPAIR(_ZN6G2x1y2D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x1y2[] = {
+ // 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(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_C2, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x1, 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)
+ 5, //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 _ZTI6G2x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x1y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y2[] = {
+ {&(_ZTV6G2x1y2[5]), 5,13},
+ {&(_tg__ZTV4E2x1__6G2x1y2[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y2[3]), 3,3},
+ {&(_ZTV6G2x1y2[9]), 9,13},
+ {&(_ZTV6G2x1y2[12]), 12,13},
+ {&(_tg__ZTV2C2__6G2x1y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y2[];
+extern VTBL_ENTRY _ZTV6G2x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y2[];
+Class_Descriptor cd_G2x1y2 = { "G2x1y2", // class name
+ bases_G2x1y2, 6,
+ &(vtc_G2x1y2[0]), // expected_vtbl_contents
+ &(vtt_G2x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y2),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 G2x1y3 : virtual E2x1 , virtual F1 {
+ int ff;
+ ~G2x1y3(); // tgen
+ G2x1y3(); // tgen
+};
+//SIG(1 G2x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x1y3 ::~G2x1y3(){ note_dtor("G2x1y3", this);} // tgen
+G2x1y3 ::G2x1y3(){ note_ctor("G2x1y3", this);} // tgen
+
+static void Test_G2x1y3()
+{
+ extern Class_Descriptor cd_G2x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x1y3, buf);
+ G2x1y3 *dp, &lv = *(dp=new (buf) G2x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y3)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x1y3");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x1y3");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(32,20), "G2x1y3");
+ check_base_class_offset(lv, (D1*)(E2x1*), ABISELECT(16,8), "G2x1y3");
+ check_base_class_offset(lv, (E2x1*), ABISELECT(16,8), "G2x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x1y3.ff");
+ test_class_info(&lv, &cd_G2x1y3);
+ dp->~G2x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y3(Test_G2x1y3, "G2x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y3C1Ev();
+extern void _ZN6G2x1y3D1Ev();
+Name_Map name_map_G2x1y3[] = {
+ NSPAIR(_ZN6G2x1y3C1Ev),
+ NSPAIR(_ZN6G2x1y3D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x1y3[] = {
+ // 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(40,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_C2, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x1, 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 _ZTI6G2x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x1y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y3[] = {
+ {&(_ZTV6G2x1y3[6]), 6,19},
+ {&(_ZTV6G2x1y3[11]), 11,19},
+ {&(_ZTV6G2x1y3[15]), 15,19},
+ {&(_ZTV6G2x1y3[18]), 18,19},
+ {&(_tg__ZTV4E2x1__6G2x1y3[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y3[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x1y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y3[];
+extern VTBL_ENTRY _ZTV6G2x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y3[];
+Class_Descriptor cd_G2x1y3 = { "G2x1y3", // class name
+ bases_G2x1y3, 6,
+ &(vtc_G2x1y3[0]), // expected_vtbl_contents
+ &(vtt_G2x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y3),7, //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 G2x1y4 : E2x1 , F0 {
+ int ff;
+ ~G2x1y4(); // tgen
+ G2x1y4(); // tgen
+};
+//SIG(1 G2x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x1y4 ::~G2x1y4(){ note_dtor("G2x1y4", this);} // tgen
+G2x1y4 ::G2x1y4(){ note_ctor("G2x1y4", this);} // tgen
+
+static void Test_G2x1y4()
+{
+ extern Class_Descriptor cd_G2x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x1y4, buf);
+ G2x1y4 *dp, &lv = *(dp=new (buf) G2x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y4)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,32), "G2x1y4");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,24), "G2x1y4");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(24,20), "G2x1y4");
+ check_base_class_offset(lv, (D1*)(E2x1*), 0, "G2x1y4");
+ check_base_class_offset(lv, (E2x1*), 0, "G2x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G2x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x1y4.ff");
+ test_class_info(&lv, &cd_G2x1y4);
+ dp->~G2x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y4(Test_G2x1y4, "G2x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y4C1Ev();
+extern void _ZN6G2x1y4D1Ev();
+Name_Map name_map_G2x1y4[] = {
+ NSPAIR(_ZN6G2x1y4C1Ev),
+ NSPAIR(_ZN6G2x1y4D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x1y4[] = {
+ // 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(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_C2, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E2x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x1y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y4[] = {
+ {&(_ZTV6G2x1y4[4]), 4,8},
+ {&(_tg__ZTV4E2x1__6G2x1y4[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y4[3]), 3,3},
+ {&(_ZTV6G2x1y4[8]), 8,8},
+ {&(_tg__ZTV2C2__6G2x1y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y4[];
+extern VTBL_ENTRY _ZTV6G2x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y4[];
+Class_Descriptor cd_G2x1y4 = { "G2x1y4", // class name
+ bases_G2x1y4, 6,
+ &(vtc_G2x1y4[0]), // expected_vtbl_contents
+ &(vtt_G2x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y4),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 G2x1y5 : virtual E2x1 , F0 {
+ int ff;
+ ~G2x1y5(); // tgen
+ G2x1y5(); // tgen
+};
+//SIG(1 G2x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x1y5 ::~G2x1y5(){ note_dtor("G2x1y5", this);} // tgen
+G2x1y5 ::G2x1y5(){ note_ctor("G2x1y5", this);} // tgen
+
+static void Test_G2x1y5()
+{
+ extern Class_Descriptor cd_G2x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x1y5, buf);
+ G2x1y5 *dp, &lv = *(dp=new (buf) G2x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y5)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x1y5");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x1y5");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(32,24), "G2x1y5");
+ check_base_class_offset(lv, (D1*)(E2x1*), ABISELECT(16,12), "G2x1y5");
+ check_base_class_offset(lv, (E2x1*), ABISELECT(16,12), "G2x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x1y5.ff");
+ test_class_info(&lv, &cd_G2x1y5);
+ dp->~G2x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y5(Test_G2x1y5, "G2x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y5C1Ev();
+extern void _ZN6G2x1y5D1Ev();
+Name_Map name_map_G2x1y5[] = {
+ NSPAIR(_ZN6G2x1y5C1Ev),
+ NSPAIR(_ZN6G2x1y5D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x1y5[] = {
+ // 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(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, 0},
+ {&cd_C2, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x1, 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 _ZTI6G2x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x1y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y5[] = {
+ {&(_ZTV6G2x1y5[5]), 5,14},
+ {&(_ZTV6G2x1y5[10]), 10,14},
+ {&(_ZTV6G2x1y5[14]), 14,14},
+ {&(_tg__ZTV4E2x1__6G2x1y5[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y5[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x1y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y5[];
+extern VTBL_ENTRY _ZTV6G2x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y5[];
+Class_Descriptor cd_G2x1y5 = { "G2x1y5", // class name
+ bases_G2x1y5, 6,
+ &(vtc_G2x1y5[0]), // expected_vtbl_contents
+ &(vtt_G2x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y5),6, //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 G2x1y6 : E2x1 , virtual F0 {
+ int ff;
+ ~G2x1y6(); // tgen
+ G2x1y6(); // tgen
+};
+//SIG(1 G2x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x1y6 ::~G2x1y6(){ note_dtor("G2x1y6", this);} // tgen
+G2x1y6 ::G2x1y6(){ note_ctor("G2x1y6", this);} // tgen
+
+static void Test_G2x1y6()
+{
+ extern Class_Descriptor cd_G2x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x1y6, buf);
+ G2x1y6 *dp, &lv = *(dp=new (buf) G2x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y6)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x1y6");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x1y6");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(24,16), "G2x1y6");
+ check_base_class_offset(lv, (D1*)(E2x1*), 0, "G2x1y6");
+ check_base_class_offset(lv, (E2x1*), 0, "G2x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G2x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x1y6.ff");
+ test_class_info(&lv, &cd_G2x1y6);
+ dp->~G2x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y6(Test_G2x1y6, "G2x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y6C1Ev();
+extern void _ZN6G2x1y6D1Ev();
+Name_Map name_map_G2x1y6[] = {
+ NSPAIR(_ZN6G2x1y6C1Ev),
+ NSPAIR(_ZN6G2x1y6D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x1y6[] = {
+ // 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(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_C2, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E2x1, 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 _ZTI6G2x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x1y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y6[] = {
+ {&(_ZTV6G2x1y6[5]), 5,9},
+ {&(_tg__ZTV4E2x1__6G2x1y6[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y6[3]), 3,3},
+ {&(_ZTV6G2x1y6[9]), 9,9},
+ {&(_tg__ZTV2C2__6G2x1y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y6[];
+extern VTBL_ENTRY _ZTV6G2x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y6[];
+Class_Descriptor cd_G2x1y6 = { "G2x1y6", // class name
+ bases_G2x1y6, 6,
+ &(vtc_G2x1y6[0]), // expected_vtbl_contents
+ &(vtt_G2x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y6),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 G2x1y7 : virtual E2x1 , virtual F0 {
+ int ff;
+ ~G2x1y7(); // tgen
+ G2x1y7(); // tgen
+};
+//SIG(1 G2x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x1y7 ::~G2x1y7(){ note_dtor("G2x1y7", this);} // tgen
+G2x1y7 ::G2x1y7(){ note_ctor("G2x1y7", this);} // tgen
+
+static void Test_G2x1y7()
+{
+ extern Class_Descriptor cd_G2x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x1y7, buf);
+ G2x1y7 *dp, &lv = *(dp=new (buf) G2x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x1y7)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x1y7");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x1y7");
+ check_base_class_offset(lv, (C2*)(E2x1*), ABISELECT(32,20), "G2x1y7");
+ check_base_class_offset(lv, (D1*)(E2x1*), ABISELECT(16,8), "G2x1y7");
+ check_base_class_offset(lv, (E2x1*), ABISELECT(16,8), "G2x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x1y7.ff");
+ test_class_info(&lv, &cd_G2x1y7);
+ dp->~G2x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x1y7(Test_G2x1y7, "G2x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x1y7C1Ev();
+extern void _ZN6G2x1y7D1Ev();
+Name_Map name_map_G2x1y7[] = {
+ NSPAIR(_ZN6G2x1y7C1Ev),
+ NSPAIR(_ZN6G2x1y7D1Ev),
+ {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_E2x1;
+extern VTBL_ENTRY _ZTI4E2x1[];
+extern VTBL_ENTRY _ZTV4E2x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x1y7[] = {
+ // 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(40,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_C2, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E2x1, 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(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 _ZTI6G2x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x1y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E2x1__6G2x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x1__6G2x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x1y7[] = {
+ {&(_ZTV6G2x1y7[6]), 6,15},
+ {&(_ZTV6G2x1y7[11]), 11,15},
+ {&(_ZTV6G2x1y7[15]), 15,15},
+ {&(_tg__ZTV4E2x1__6G2x1y7[4]), 4,5},
+ {&(_tg__ZTV2C2__4E2x1__6G2x1y7[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x1y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x1y7[];
+extern VTBL_ENTRY _ZTV6G2x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x1y7[];
+Class_Descriptor cd_G2x1y7 = { "G2x1y7", // class name
+ bases_G2x1y7, 6,
+ &(vtc_G2x1y7[0]), // expected_vtbl_contents
+ &(vtt_G2x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x1y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x1y7),6, //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 E3x1 : virtual C3 , D1 {
+ int fd;
+ ~E3x1(); // tgen
+ E3x1(); // tgen
+};
+//SIG(-1 E3x1) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E3x1 ::~E3x1(){ note_dtor("E3x1", this);} // tgen
+E3x1 ::E3x1(){ note_ctor("E3x1", this);} // tgen
+
+static void Test_E3x1()
+{
+ extern Class_Descriptor cd_E3x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E3x1, buf);
+ E3x1 *dp, &lv = *(dp=new (buf) E3x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E3x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x1)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "E3x1");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "E3x1");
+ check_base_class_offset(lv, (C3*), ABISELECT(16,12), "E3x1");
+ check_base_class_offset(lv, (D1*), 0, "E3x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E3x1.fd");
+ test_class_info(&lv, &cd_E3x1);
+ dp->~E3x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x1(Test_E3x1, "E3x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x1C1Ev();
+extern void _ZN4E3x1D1Ev();
+Name_Map name_map_E3x1[] = {
+ NSPAIR(_ZN4E3x1C1Ev),
+ NSPAIR(_ZN4E3x1D1Ev),
+ {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_E3x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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
+ 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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x1[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x1[] = {
+ {&(_ZTV4E3x1[4]), 4,12},
+ {&(_ZTV4E3x1[8]), 8,12},
+ {&(_ZTV4E3x1[11]), 11,12},
+ {&(_tg__ZTV2C3__4E3x1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+Class_Descriptor cd_E3x1 = { "E3x1", // class name
+ bases_E3x1, 4,
+ &(vtc_E3x1[0]), // expected_vtbl_contents
+ &(vtt_E3x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E3x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x1),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 G3x1y0 : E3x1 , F1 {
+ int ff;
+ ~G3x1y0(); // tgen
+ G3x1y0(); // tgen
+};
+//SIG(1 G3x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x1y0 ::~G3x1y0(){ note_dtor("G3x1y0", this);} // tgen
+G3x1y0 ::G3x1y0(){ note_ctor("G3x1y0", this);} // tgen
+
+static void Test_G3x1y0()
+{
+ extern Class_Descriptor cd_G3x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x1y0, buf);
+ G3x1y0 *dp, &lv = *(dp=new (buf) G3x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y0)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x1y0");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x1y0");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(32,24), "G3x1y0");
+ check_base_class_offset(lv, (D1*)(E3x1*), 0, "G3x1y0");
+ check_base_class_offset(lv, (E3x1*), 0, "G3x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G3x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G3x1y0.ff");
+ test_class_info(&lv, &cd_G3x1y0);
+ dp->~G3x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y0(Test_G3x1y0, "G3x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y0C1Ev();
+extern void _ZN6G3x1y0D1Ev();
+Name_Map name_map_G3x1y0[] = {
+ NSPAIR(_ZN6G3x1y0C1Ev),
+ NSPAIR(_ZN6G3x1y0D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,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_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, 0},
+ {&cd_C3, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x1y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y0[] = {
+ {&(_ZTV6G3x1y0[4]), 4,15},
+ {&(_tg__ZTV4E3x1__6G3x1y0[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y0[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y0[3]), 3,4},
+ {&(_ZTV6G3x1y0[11]), 11,15},
+ {&(_ZTV6G3x1y0[14]), 14,15},
+ {&(_tg__ZTV2C3__6G3x1y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y0[];
+extern VTBL_ENTRY _ZTV6G3x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y0[];
+Class_Descriptor cd_G3x1y0 = { "G3x1y0", // class name
+ bases_G3x1y0, 6,
+ &(vtc_G3x1y0[0]), // expected_vtbl_contents
+ &(vtt_G3x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y0),8, //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 G3x1y1 : virtual E3x1 , F1 {
+ int ff;
+ ~G3x1y1(); // tgen
+ G3x1y1(); // tgen
+};
+//SIG(1 G3x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x1y1 ::~G3x1y1(){ note_dtor("G3x1y1", this);} // tgen
+G3x1y1 ::G3x1y1(){ note_ctor("G3x1y1", this);} // tgen
+
+static void Test_G3x1y1()
+{
+ extern Class_Descriptor cd_G3x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x1y1, buf);
+ G3x1y1 *dp, &lv = *(dp=new (buf) G3x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y1)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x1y1");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x1y1");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(32,24), "G3x1y1");
+ check_base_class_offset(lv, (D1*)(E3x1*), ABISELECT(16,12), "G3x1y1");
+ check_base_class_offset(lv, (E3x1*), ABISELECT(16,12), "G3x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x1y1.ff");
+ test_class_info(&lv, &cd_G3x1y1);
+ dp->~G3x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y1(Test_G3x1y1, "G3x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y1C1Ev();
+extern void _ZN6G3x1y1D1Ev();
+Name_Map name_map_G3x1y1[] = {
+ NSPAIR(_ZN6G3x1y1C1Ev),
+ NSPAIR(_ZN6G3x1y1D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,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
+ 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, 0},
+ {&cd_C3, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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 _ZTI6G3x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x1y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y1[] = {
+ {&(_ZTV6G3x1y1[5]), 5,19},
+ {&(_ZTV6G3x1y1[11]), 11,19},
+ {&(_ZTV6G3x1y1[15]), 15,19},
+ {&(_ZTV6G3x1y1[18]), 18,19},
+ {&(_tg__ZTV4E3x1__6G3x1y1[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y1[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y1[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x1y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y1[];
+extern VTBL_ENTRY _ZTV6G3x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y1[];
+Class_Descriptor cd_G3x1y1 = { "G3x1y1", // class name
+ bases_G3x1y1, 6,
+ &(vtc_G3x1y1[0]), // expected_vtbl_contents
+ &(vtt_G3x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y1),9, //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 G3x1y2 : E3x1 , virtual F1 {
+ int ff;
+ ~G3x1y2(); // tgen
+ G3x1y2(); // tgen
+};
+//SIG(1 G3x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x1y2 ::~G3x1y2(){ note_dtor("G3x1y2", this);} // tgen
+G3x1y2 ::G3x1y2(){ note_ctor("G3x1y2", this);} // tgen
+
+static void Test_G3x1y2()
+{
+ extern Class_Descriptor cd_G3x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x1y2, buf);
+ G3x1y2 *dp, &lv = *(dp=new (buf) G3x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y2)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x1y2");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x1y2");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(24,16), "G3x1y2");
+ check_base_class_offset(lv, (D1*)(E3x1*), 0, "G3x1y2");
+ check_base_class_offset(lv, (E3x1*), 0, "G3x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x1y2.ff");
+ test_class_info(&lv, &cd_G3x1y2);
+ dp->~G3x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y2(Test_G3x1y2, "G3x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y2C1Ev();
+extern void _ZN6G3x1y2D1Ev();
+Name_Map name_map_G3x1y2[] = {
+ NSPAIR(_ZN6G3x1y2C1Ev),
+ NSPAIR(_ZN6G3x1y2D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C3, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x1y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y2[] = {
+ {&(_ZTV6G3x1y2[5]), 5,17},
+ {&(_tg__ZTV4E3x1__6G3x1y2[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y2[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y2[3]), 3,4},
+ {&(_ZTV6G3x1y2[9]), 9,17},
+ {&(_ZTV6G3x1y2[12]), 12,17},
+ {&(_ZTV6G3x1y2[16]), 16,17},
+ {&(_tg__ZTV2C3__6G3x1y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y2[];
+extern VTBL_ENTRY _ZTV6G3x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y2[];
+Class_Descriptor cd_G3x1y2 = { "G3x1y2", // class name
+ bases_G3x1y2, 6,
+ &(vtc_G3x1y2[0]), // expected_vtbl_contents
+ &(vtt_G3x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y2),9, //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 G3x1y3 : virtual E3x1 , virtual F1 {
+ int ff;
+ ~G3x1y3(); // tgen
+ G3x1y3(); // tgen
+};
+//SIG(1 G3x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x1y3 ::~G3x1y3(){ note_dtor("G3x1y3", this);} // tgen
+G3x1y3 ::G3x1y3(){ note_ctor("G3x1y3", this);} // tgen
+
+static void Test_G3x1y3()
+{
+ extern Class_Descriptor cd_G3x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x1y3, buf);
+ G3x1y3 *dp, &lv = *(dp=new (buf) G3x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y3)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x1y3");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x1y3");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(32,20), "G3x1y3");
+ check_base_class_offset(lv, (D1*)(E3x1*), ABISELECT(16,8), "G3x1y3");
+ check_base_class_offset(lv, (E3x1*), ABISELECT(16,8), "G3x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x1y3.ff");
+ test_class_info(&lv, &cd_G3x1y3);
+ dp->~G3x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y3(Test_G3x1y3, "G3x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y3C1Ev();
+extern void _ZN6G3x1y3D1Ev();
+Name_Map name_map_G3x1y3[] = {
+ NSPAIR(_ZN6G3x1y3C1Ev),
+ NSPAIR(_ZN6G3x1y3D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x1y3[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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 _ZTI6G3x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x1y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y3[] = {
+ {&(_ZTV6G3x1y3[6]), 6,23},
+ {&(_ZTV6G3x1y3[11]), 11,23},
+ {&(_ZTV6G3x1y3[15]), 15,23},
+ {&(_ZTV6G3x1y3[18]), 18,23},
+ {&(_ZTV6G3x1y3[22]), 22,23},
+ {&(_tg__ZTV4E3x1__6G3x1y3[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y3[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y3[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x1y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y3[];
+extern VTBL_ENTRY _ZTV6G3x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y3[];
+Class_Descriptor cd_G3x1y3 = { "G3x1y3", // class name
+ bases_G3x1y3, 6,
+ &(vtc_G3x1y3[0]), // expected_vtbl_contents
+ &(vtt_G3x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y3),10, //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 G3x1y4 : E3x1 , F0 {
+ int ff;
+ ~G3x1y4(); // tgen
+ G3x1y4(); // tgen
+};
+//SIG(1 G3x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x1y4 ::~G3x1y4(){ note_dtor("G3x1y4", this);} // tgen
+G3x1y4 ::G3x1y4(){ note_ctor("G3x1y4", this);} // tgen
+
+static void Test_G3x1y4()
+{
+ extern Class_Descriptor cd_G3x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x1y4, buf);
+ G3x1y4 *dp, &lv = *(dp=new (buf) G3x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y4)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,32), "G3x1y4");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,24), "G3x1y4");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(24,20), "G3x1y4");
+ check_base_class_offset(lv, (D1*)(E3x1*), 0, "G3x1y4");
+ check_base_class_offset(lv, (E3x1*), 0, "G3x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G3x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x1y4.ff");
+ test_class_info(&lv, &cd_G3x1y4);
+ dp->~G3x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y4(Test_G3x1y4, "G3x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y4C1Ev();
+extern void _ZN6G3x1y4D1Ev();
+Name_Map name_map_G3x1y4[] = {
+ NSPAIR(_ZN6G3x1y4C1Ev),
+ NSPAIR(_ZN6G3x1y4D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,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_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_C3, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x1y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y4[] = {
+ {&(_ZTV6G3x1y4[4]), 4,12},
+ {&(_tg__ZTV4E3x1__6G3x1y4[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y4[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y4[3]), 3,4},
+ {&(_ZTV6G3x1y4[8]), 8,12},
+ {&(_ZTV6G3x1y4[11]), 11,12},
+ {&(_tg__ZTV2C3__6G3x1y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y4[];
+extern VTBL_ENTRY _ZTV6G3x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y4[];
+Class_Descriptor cd_G3x1y4 = { "G3x1y4", // class name
+ bases_G3x1y4, 6,
+ &(vtc_G3x1y4[0]), // expected_vtbl_contents
+ &(vtt_G3x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y4),8, //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 G3x1y5 : virtual E3x1 , F0 {
+ int ff;
+ ~G3x1y5(); // tgen
+ G3x1y5(); // tgen
+};
+//SIG(1 G3x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x1y5 ::~G3x1y5(){ note_dtor("G3x1y5", this);} // tgen
+G3x1y5 ::G3x1y5(){ note_ctor("G3x1y5", this);} // tgen
+
+static void Test_G3x1y5()
+{
+ extern Class_Descriptor cd_G3x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x1y5, buf);
+ G3x1y5 *dp, &lv = *(dp=new (buf) G3x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y5)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x1y5");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x1y5");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(32,24), "G3x1y5");
+ check_base_class_offset(lv, (D1*)(E3x1*), ABISELECT(16,12), "G3x1y5");
+ check_base_class_offset(lv, (E3x1*), ABISELECT(16,12), "G3x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x1y5.ff");
+ test_class_info(&lv, &cd_G3x1y5);
+ dp->~G3x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y5(Test_G3x1y5, "G3x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y5C1Ev();
+extern void _ZN6G3x1y5D1Ev();
+Name_Map name_map_G3x1y5[] = {
+ NSPAIR(_ZN6G3x1y5C1Ev),
+ NSPAIR(_ZN6G3x1y5D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 14, //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(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, 0},
+ {&cd_C3, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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 _ZTI6G3x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x1y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y5[] = {
+ {&(_ZTV6G3x1y5[5]), 5,18},
+ {&(_ZTV6G3x1y5[10]), 10,18},
+ {&(_ZTV6G3x1y5[14]), 14,18},
+ {&(_ZTV6G3x1y5[17]), 17,18},
+ {&(_tg__ZTV4E3x1__6G3x1y5[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y5[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y5[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x1y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y5[];
+extern VTBL_ENTRY _ZTV6G3x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y5[];
+Class_Descriptor cd_G3x1y5 = { "G3x1y5", // class name
+ bases_G3x1y5, 6,
+ &(vtc_G3x1y5[0]), // expected_vtbl_contents
+ &(vtt_G3x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y5),9, //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 G3x1y6 : E3x1 , virtual F0 {
+ int ff;
+ ~G3x1y6(); // tgen
+ G3x1y6(); // tgen
+};
+//SIG(1 G3x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x1y6 ::~G3x1y6(){ note_dtor("G3x1y6", this);} // tgen
+G3x1y6 ::G3x1y6(){ note_ctor("G3x1y6", this);} // tgen
+
+static void Test_G3x1y6()
+{
+ extern Class_Descriptor cd_G3x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x1y6, buf);
+ G3x1y6 *dp, &lv = *(dp=new (buf) G3x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y6)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x1y6");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x1y6");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(24,16), "G3x1y6");
+ check_base_class_offset(lv, (D1*)(E3x1*), 0, "G3x1y6");
+ check_base_class_offset(lv, (E3x1*), 0, "G3x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x1y6.ff");
+ test_class_info(&lv, &cd_G3x1y6);
+ dp->~G3x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y6(Test_G3x1y6, "G3x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y6C1Ev();
+extern void _ZN6G3x1y6D1Ev();
+Name_Map name_map_G3x1y6[] = {
+ NSPAIR(_ZN6G3x1y6C1Ev),
+ NSPAIR(_ZN6G3x1y6D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C3, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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 _ZTI6G3x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x1y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y6[] = {
+ {&(_ZTV6G3x1y6[5]), 5,13},
+ {&(_tg__ZTV4E3x1__6G3x1y6[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y6[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y6[3]), 3,4},
+ {&(_ZTV6G3x1y6[9]), 9,13},
+ {&(_ZTV6G3x1y6[12]), 12,13},
+ {&(_tg__ZTV2C3__6G3x1y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y6[];
+extern VTBL_ENTRY _ZTV6G3x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y6[];
+Class_Descriptor cd_G3x1y6 = { "G3x1y6", // class name
+ bases_G3x1y6, 6,
+ &(vtc_G3x1y6[0]), // expected_vtbl_contents
+ &(vtt_G3x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y6),8, //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 G3x1y7 : virtual E3x1 , virtual F0 {
+ int ff;
+ ~G3x1y7(); // tgen
+ G3x1y7(); // tgen
+};
+//SIG(1 G3x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x1y7 ::~G3x1y7(){ note_dtor("G3x1y7", this);} // tgen
+G3x1y7 ::G3x1y7(){ note_ctor("G3x1y7", this);} // tgen
+
+static void Test_G3x1y7()
+{
+ extern Class_Descriptor cd_G3x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x1y7, buf);
+ G3x1y7 *dp, &lv = *(dp=new (buf) G3x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x1y7)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x1y7");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x1y7");
+ check_base_class_offset(lv, (C3*)(E3x1*), ABISELECT(32,20), "G3x1y7");
+ check_base_class_offset(lv, (D1*)(E3x1*), ABISELECT(16,8), "G3x1y7");
+ check_base_class_offset(lv, (E3x1*), ABISELECT(16,8), "G3x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G3x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x1y7.ff");
+ test_class_info(&lv, &cd_G3x1y7);
+ dp->~G3x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x1y7(Test_G3x1y7, "G3x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x1y7C1Ev();
+extern void _ZN6G3x1y7D1Ev();
+Name_Map name_map_G3x1y7[] = {
+ NSPAIR(_ZN6G3x1y7C1Ev),
+ NSPAIR(_ZN6G3x1y7D1Ev),
+ {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_E3x1;
+extern VTBL_ENTRY _ZTI4E3x1[];
+extern VTBL_ENTRY _ZTV4E3x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x1y7[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E3x1, 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(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 _ZTI6G3x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x1y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E3x1__6G3x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x1__6G3x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x1__6G3x1y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x1y7[] = {
+ {&(_ZTV6G3x1y7[6]), 6,19},
+ {&(_ZTV6G3x1y7[11]), 11,19},
+ {&(_ZTV6G3x1y7[15]), 15,19},
+ {&(_ZTV6G3x1y7[18]), 18,19},
+ {&(_tg__ZTV4E3x1__6G3x1y7[4]), 4,5},
+ {&(_tg__ZTV2C3__4E3x1__6G3x1y7[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x1__6G3x1y7[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x1y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x1y7[];
+extern VTBL_ENTRY _ZTV6G3x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x1y7[];
+Class_Descriptor cd_G3x1y7 = { "G3x1y7", // class name
+ bases_G3x1y7, 6,
+ &(vtc_G3x1y7[0]), // expected_vtbl_contents
+ &(vtt_G3x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x1y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x1y7),9, //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 E4x1 : virtual C4 , D1 {
+ int fd;
+ ~E4x1(); // tgen
+ E4x1(); // tgen
+};
+//SIG(-1 E4x1) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E4x1 ::~E4x1(){ note_dtor("E4x1", this);} // tgen
+E4x1 ::E4x1(){ note_ctor("E4x1", this);} // tgen
+
+static void Test_E4x1()
+{
+ extern Class_Descriptor cd_E4x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x1, buf);
+ E4x1 *dp, &lv = *(dp=new (buf) E4x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x1)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "E4x1");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "E4x1");
+ check_base_class_offset(lv, (C4*), ABISELECT(16,12), "E4x1");
+ check_base_class_offset(lv, (D1*), 0, "E4x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E4x1.fd");
+ test_class_info(&lv, &cd_E4x1);
+ dp->~E4x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x1(Test_E4x1, "E4x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x1C1Ev();
+extern void _ZN4E4x1D1Ev();
+Name_Map name_map_E4x1[] = {
+ NSPAIR(_ZN4E4x1C1Ev),
+ NSPAIR(_ZN4E4x1D1Ev),
+ {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_E4x1[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 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_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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E4x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x1[];
+static VTT_ENTRY vtt_E4x1[] = {
+ {&(_ZTV4E4x1[3]), 3,8},
+ {&(_ZTV4E4x1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+Class_Descriptor cd_E4x1 = { "E4x1", // class name
+ bases_E4x1, 4,
+ &(vtc_E4x1[0]), // expected_vtbl_contents
+ &(vtt_E4x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x1),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 G4x1y0 : E4x1 , F1 {
+ int ff;
+ ~G4x1y0(); // tgen
+ G4x1y0(); // tgen
+};
+//SIG(1 G4x1y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x1y0 ::~G4x1y0(){ note_dtor("G4x1y0", this);} // tgen
+G4x1y0 ::G4x1y0(){ note_ctor("G4x1y0", this);} // tgen
+
+static void Test_G4x1y0()
+{
+ extern Class_Descriptor cd_G4x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x1y0, buf);
+ G4x1y0 *dp, &lv = *(dp=new (buf) G4x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y0)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x1y0");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x1y0");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(32,24), "G4x1y0");
+ check_base_class_offset(lv, (D1*)(E4x1*), 0, "G4x1y0");
+ check_base_class_offset(lv, (E4x1*), 0, "G4x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G4x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G4x1y0.ff");
+ test_class_info(&lv, &cd_G4x1y0);
+ dp->~G4x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y0(Test_G4x1y0, "G4x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y0C1Ev();
+extern void _ZN6G4x1y0D1Ev();
+Name_Map name_map_G4x1y0[] = {
+ NSPAIR(_ZN6G4x1y0C1Ev),
+ NSPAIR(_ZN6G4x1y0D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_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(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y0[] = {
+ {&(_ZTV6G4x1y0[3]), 3,11},
+ {&(_tg__ZTV4E4x1__6G4x1y0[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y0[3]), 3,4},
+ {&(_ZTV6G4x1y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x1y0[];
+extern VTBL_ENTRY _ZTV6G4x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y0[];
+Class_Descriptor cd_G4x1y0 = { "G4x1y0", // class name
+ bases_G4x1y0, 6,
+ &(vtc_G4x1y0[0]), // expected_vtbl_contents
+ &(vtt_G4x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y0),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 G4x1y1 : virtual E4x1 , F1 {
+ int ff;
+ ~G4x1y1(); // tgen
+ G4x1y1(); // tgen
+};
+//SIG(1 G4x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x1y1 ::~G4x1y1(){ note_dtor("G4x1y1", this);} // tgen
+G4x1y1 ::G4x1y1(){ note_ctor("G4x1y1", this);} // tgen
+
+static void Test_G4x1y1()
+{
+ extern Class_Descriptor cd_G4x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x1y1, buf);
+ G4x1y1 *dp, &lv = *(dp=new (buf) G4x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y1)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x1y1");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x1y1");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(32,24), "G4x1y1");
+ check_base_class_offset(lv, (D1*)(E4x1*), ABISELECT(16,12), "G4x1y1");
+ check_base_class_offset(lv, (E4x1*), ABISELECT(16,12), "G4x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x1y1.ff");
+ test_class_info(&lv, &cd_G4x1y1);
+ dp->~G4x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y1(Test_G4x1y1, "G4x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y1C1Ev();
+extern void _ZN6G4x1y1D1Ev();
+Name_Map name_map_G4x1y1[] = {
+ NSPAIR(_ZN6G4x1y1C1Ev),
+ NSPAIR(_ZN6G4x1y1D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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 _ZTI6G4x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y1[] = {
+ {&(_ZTV6G4x1y1[4]), 4,14},
+ {&(_ZTV6G4x1y1[9]), 9,14},
+ {&(_ZTV6G4x1y1[13]), 13,14},
+ {&(_tg__ZTV4E4x1__6G4x1y1[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x1y1[];
+extern VTBL_ENTRY _ZTV6G4x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y1[];
+Class_Descriptor cd_G4x1y1 = { "G4x1y1", // class name
+ bases_G4x1y1, 6,
+ &(vtc_G4x1y1[0]), // expected_vtbl_contents
+ &(vtt_G4x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y1),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 G4x1y2 : E4x1 , virtual F1 {
+ int ff;
+ ~G4x1y2(); // tgen
+ G4x1y2(); // tgen
+};
+//SIG(1 G4x1y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x1y2 ::~G4x1y2(){ note_dtor("G4x1y2", this);} // tgen
+G4x1y2 ::G4x1y2(){ note_ctor("G4x1y2", this);} // tgen
+
+static void Test_G4x1y2()
+{
+ extern Class_Descriptor cd_G4x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x1y2, buf);
+ G4x1y2 *dp, &lv = *(dp=new (buf) G4x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y2)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x1y2");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x1y2");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(24,16), "G4x1y2");
+ check_base_class_offset(lv, (D1*)(E4x1*), 0, "G4x1y2");
+ check_base_class_offset(lv, (E4x1*), 0, "G4x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x1y2.ff");
+ test_class_info(&lv, &cd_G4x1y2);
+ dp->~G4x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y2(Test_G4x1y2, "G4x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y2C1Ev();
+extern void _ZN6G4x1y2D1Ev();
+Name_Map name_map_G4x1y2[] = {
+ NSPAIR(_ZN6G4x1y2C1Ev),
+ NSPAIR(_ZN6G4x1y2D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x1y2[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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(24,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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(48,32), //bcp->offset
+ 9, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y2[] = {
+ {&(_ZTV6G4x1y2[4]), 4,13},
+ {&(_tg__ZTV4E4x1__6G4x1y2[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y2[3]), 3,4},
+ {&(_ZTV6G4x1y2[8]), 8,13},
+ {&(_ZTV6G4x1y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G4x1y2[];
+extern VTBL_ENTRY _ZTV6G4x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y2[];
+Class_Descriptor cd_G4x1y2 = { "G4x1y2", // class name
+ bases_G4x1y2, 6,
+ &(vtc_G4x1y2[0]), // expected_vtbl_contents
+ &(vtt_G4x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y2),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 G4x1y3 : virtual E4x1 , virtual F1 {
+ int ff;
+ ~G4x1y3(); // tgen
+ G4x1y3(); // tgen
+};
+//SIG(1 G4x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x1y3 ::~G4x1y3(){ note_dtor("G4x1y3", this);} // tgen
+G4x1y3 ::G4x1y3(){ note_ctor("G4x1y3", this);} // tgen
+
+static void Test_G4x1y3()
+{
+ extern Class_Descriptor cd_G4x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x1y3, buf);
+ G4x1y3 *dp, &lv = *(dp=new (buf) G4x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y3)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x1y3");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x1y3");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(32,20), "G4x1y3");
+ check_base_class_offset(lv, (D1*)(E4x1*), ABISELECT(16,8), "G4x1y3");
+ check_base_class_offset(lv, (E4x1*), ABISELECT(16,8), "G4x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x1y3.ff");
+ test_class_info(&lv, &cd_G4x1y3);
+ dp->~G4x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y3(Test_G4x1y3, "G4x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y3C1Ev();
+extern void _ZN6G4x1y3D1Ev();
+Name_Map name_map_G4x1y3[] = {
+ NSPAIR(_ZN6G4x1y3C1Ev),
+ NSPAIR(_ZN6G4x1y3D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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
+ 14, //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 _ZTI6G4x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y3[] = {
+ {&(_ZTV6G4x1y3[5]), 5,18},
+ {&(_ZTV6G4x1y3[9]), 9,18},
+ {&(_ZTV6G4x1y3[13]), 13,18},
+ {&(_ZTV6G4x1y3[17]), 17,18},
+ {&(_tg__ZTV4E4x1__6G4x1y3[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x1y3[];
+extern VTBL_ENTRY _ZTV6G4x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y3[];
+Class_Descriptor cd_G4x1y3 = { "G4x1y3", // class name
+ bases_G4x1y3, 6,
+ &(vtc_G4x1y3[0]), // expected_vtbl_contents
+ &(vtt_G4x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y3),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 G4x1y4 : E4x1 , F0 {
+ int ff;
+ ~G4x1y4(); // tgen
+ G4x1y4(); // tgen
+};
+//SIG(1 G4x1y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x1y4 ::~G4x1y4(){ note_dtor("G4x1y4", this);} // tgen
+G4x1y4 ::G4x1y4(){ note_ctor("G4x1y4", this);} // tgen
+
+static void Test_G4x1y4()
+{
+ extern Class_Descriptor cd_G4x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x1y4, buf);
+ G4x1y4 *dp, &lv = *(dp=new (buf) G4x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y4)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,28), "G4x1y4");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,20), "G4x1y4");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(24,20), "G4x1y4");
+ check_base_class_offset(lv, (D1*)(E4x1*), 0, "G4x1y4");
+ check_base_class_offset(lv, (E4x1*), 0, "G4x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G4x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G4x1y4.ff");
+ test_class_info(&lv, &cd_G4x1y4);
+ dp->~G4x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y4(Test_G4x1y4, "G4x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y4C1Ev();
+extern void _ZN6G4x1y4D1Ev();
+Name_Map name_map_G4x1y4[] = {
+ NSPAIR(_ZN6G4x1y4C1Ev),
+ NSPAIR(_ZN6G4x1y4D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x1y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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(24,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y4[] = {
+ {&(_ZTV6G4x1y4[3]), 3,8},
+ {&(_tg__ZTV4E4x1__6G4x1y4[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y4[3]), 3,4},
+ {&(_ZTV6G4x1y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x1y4[];
+extern VTBL_ENTRY _ZTV6G4x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y4[];
+Class_Descriptor cd_G4x1y4 = { "G4x1y4", // class name
+ bases_G4x1y4, 6,
+ &(vtc_G4x1y4[0]), // expected_vtbl_contents
+ &(vtt_G4x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y4),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 G4x1y5 : virtual E4x1 , F0 {
+ int ff;
+ ~G4x1y5(); // tgen
+ G4x1y5(); // tgen
+};
+//SIG(1 G4x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x1y5 ::~G4x1y5(){ note_dtor("G4x1y5", this);} // tgen
+G4x1y5 ::G4x1y5(){ note_ctor("G4x1y5", this);} // tgen
+
+static void Test_G4x1y5()
+{
+ extern Class_Descriptor cd_G4x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x1y5, buf);
+ G4x1y5 *dp, &lv = *(dp=new (buf) G4x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y5)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x1y5");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x1y5");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(32,24), "G4x1y5");
+ check_base_class_offset(lv, (D1*)(E4x1*), ABISELECT(16,12), "G4x1y5");
+ check_base_class_offset(lv, (E4x1*), ABISELECT(16,12), "G4x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x1y5.ff");
+ test_class_info(&lv, &cd_G4x1y5);
+ dp->~G4x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y5(Test_G4x1y5, "G4x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y5C1Ev();
+extern void _ZN6G4x1y5D1Ev();
+Name_Map name_map_G4x1y5[] = {
+ NSPAIR(_ZN6G4x1y5C1Ev),
+ NSPAIR(_ZN6G4x1y5D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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 _ZTI6G4x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y5[] = {
+ {&(_ZTV6G4x1y5[4]), 4,13},
+ {&(_ZTV6G4x1y5[8]), 8,13},
+ {&(_ZTV6G4x1y5[12]), 12,13},
+ {&(_tg__ZTV4E4x1__6G4x1y5[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x1y5[];
+extern VTBL_ENTRY _ZTV6G4x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y5[];
+Class_Descriptor cd_G4x1y5 = { "G4x1y5", // class name
+ bases_G4x1y5, 6,
+ &(vtc_G4x1y5[0]), // expected_vtbl_contents
+ &(vtt_G4x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y5),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 G4x1y6 : E4x1 , virtual F0 {
+ int ff;
+ ~G4x1y6(); // tgen
+ G4x1y6(); // tgen
+};
+//SIG(1 G4x1y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x1y6 ::~G4x1y6(){ note_dtor("G4x1y6", this);} // tgen
+G4x1y6 ::G4x1y6(){ note_ctor("G4x1y6", this);} // tgen
+
+static void Test_G4x1y6()
+{
+ extern Class_Descriptor cd_G4x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x1y6, buf);
+ G4x1y6 *dp, &lv = *(dp=new (buf) G4x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y6)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x1y6");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x1y6");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(24,16), "G4x1y6");
+ check_base_class_offset(lv, (D1*)(E4x1*), 0, "G4x1y6");
+ check_base_class_offset(lv, (E4x1*), 0, "G4x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x1y6.ff");
+ test_class_info(&lv, &cd_G4x1y6);
+ dp->~G4x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y6(Test_G4x1y6, "G4x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y6C1Ev();
+extern void _ZN6G4x1y6D1Ev();
+Name_Map name_map_G4x1y6[] = {
+ NSPAIR(_ZN6G4x1y6C1Ev),
+ NSPAIR(_ZN6G4x1y6D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x1y6[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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(24,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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(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 _ZTI6G4x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y6[] = {
+ {&(_ZTV6G4x1y6[4]), 4,9},
+ {&(_tg__ZTV4E4x1__6G4x1y6[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y6[3]), 3,4},
+ {&(_ZTV6G4x1y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G4x1y6[];
+extern VTBL_ENTRY _ZTV6G4x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y6[];
+Class_Descriptor cd_G4x1y6 = { "G4x1y6", // class name
+ bases_G4x1y6, 6,
+ &(vtc_G4x1y6[0]), // expected_vtbl_contents
+ &(vtt_G4x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y6),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 G4x1y7 : virtual E4x1 , virtual F0 {
+ int ff;
+ ~G4x1y7(); // tgen
+ G4x1y7(); // tgen
+};
+//SIG(1 G4x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x1y7 ::~G4x1y7(){ note_dtor("G4x1y7", this);} // tgen
+G4x1y7 ::G4x1y7(){ note_ctor("G4x1y7", this);} // tgen
+
+static void Test_G4x1y7()
+{
+ extern Class_Descriptor cd_G4x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x1y7, buf);
+ G4x1y7 *dp, &lv = *(dp=new (buf) G4x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x1y7)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x1y7");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x1y7");
+ check_base_class_offset(lv, (C4*)(E4x1*), ABISELECT(32,20), "G4x1y7");
+ check_base_class_offset(lv, (D1*)(E4x1*), ABISELECT(16,8), "G4x1y7");
+ check_base_class_offset(lv, (E4x1*), ABISELECT(16,8), "G4x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G4x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x1y7.ff");
+ test_class_info(&lv, &cd_G4x1y7);
+ dp->~G4x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x1y7(Test_G4x1y7, "G4x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x1y7C1Ev();
+extern void _ZN6G4x1y7D1Ev();
+Name_Map name_map_G4x1y7[] = {
+ NSPAIR(_ZN6G4x1y7C1Ev),
+ NSPAIR(_ZN6G4x1y7D1Ev),
+ {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_E4x1;
+extern VTBL_ENTRY _ZTI4E4x1[];
+extern VTBL_ENTRY _ZTV4E4x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x1, 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 _ZTI6G4x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x1__6G4x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x1__6G4x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x1y7[] = {
+ {&(_ZTV6G4x1y7[5]), 5,14},
+ {&(_ZTV6G4x1y7[9]), 9,14},
+ {&(_ZTV6G4x1y7[13]), 13,14},
+ {&(_tg__ZTV4E4x1__6G4x1y7[3]), 3,4},
+ {&(_tg__ZTV2B12C4__4E4x1__6G4x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x1y7[];
+extern VTBL_ENTRY _ZTV6G4x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x1y7[];
+Class_Descriptor cd_G4x1y7 = { "G4x1y7", // class name
+ bases_G4x1y7, 6,
+ &(vtc_G4x1y7[0]), // expected_vtbl_contents
+ &(vtt_G4x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x1y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x1y7),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 E5x1 : virtual C5 , D1 {
+ int fd;
+ ~E5x1(); // tgen
+ E5x1(); // tgen
+};
+//SIG(-1 E5x1) C1{ VBC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E5x1 ::~E5x1(){ note_dtor("E5x1", this);} // tgen
+E5x1 ::E5x1(){ note_ctor("E5x1", this);} // tgen
+
+static void Test_E5x1()
+{
+ extern Class_Descriptor cd_E5x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E5x1, buf);
+ E5x1 *dp, &lv = *(dp=new (buf) E5x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E5x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x1)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "E5x1");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "E5x1");
+ check_base_class_offset(lv, (C5*), ABISELECT(16,12), "E5x1");
+ check_base_class_offset(lv, (D1*), 0, "E5x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E5x1.fd");
+ test_class_info(&lv, &cd_E5x1);
+ dp->~E5x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x1(Test_E5x1, "E5x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x1C1Ev();
+extern void _ZN4E5x1D1Ev();
+Name_Map name_map_E5x1[] = {
+ NSPAIR(_ZN4E5x1C1Ev),
+ NSPAIR(_ZN4E5x1D1Ev),
+ {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_E5x1[] = {
+ // 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)
+ 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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E5x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x1[];
+static VTT_ENTRY vtt_E5x1[] = {
+ {&(_ZTV4E5x1[3]), 3,11},
+ {&(_ZTV4E5x1[7]), 7,11},
+ {&(_ZTV4E5x1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+Class_Descriptor cd_E5x1 = { "E5x1", // class name
+ bases_E5x1, 4,
+ &(vtc_E5x1[0]), // expected_vtbl_contents
+ &(vtt_E5x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E5x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x1),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 G5x1y0 : E5x1 , F1 {
+ int ff;
+ ~G5x1y0(); // tgen
+ G5x1y0(); // tgen
+};
+//SIG(1 G5x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x1y0 ::~G5x1y0(){ note_dtor("G5x1y0", this);} // tgen
+G5x1y0 ::G5x1y0(){ note_ctor("G5x1y0", this);} // tgen
+
+static void Test_G5x1y0()
+{
+ extern Class_Descriptor cd_G5x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x1y0, buf);
+ G5x1y0 *dp, &lv = *(dp=new (buf) G5x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y0)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x1y0");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x1y0");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(32,24), "G5x1y0");
+ check_base_class_offset(lv, (D1*)(E5x1*), 0, "G5x1y0");
+ check_base_class_offset(lv, (E5x1*), 0, "G5x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G5x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G5x1y0.ff");
+ test_class_info(&lv, &cd_G5x1y0);
+ dp->~G5x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y0(Test_G5x1y0, "G5x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y0C1Ev();
+extern void _ZN6G5x1y0D1Ev();
+Name_Map name_map_G5x1y0[] = {
+ NSPAIR(_ZN6G5x1y0C1Ev),
+ NSPAIR(_ZN6G5x1y0D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x1y0[] = {
+ // 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)
+ 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
+ 11, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C5, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y0[] = {
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y0[] = {
+ {&(_ZTV6G5x1y0[3]), 3,14},
+ {&(_tg__ZTV4E5x1__6G5x1y0[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y0[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y0[2]), 2,3},
+ {&(_ZTV6G5x1y0[10]), 10,14},
+ {&(_ZTV6G5x1y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x1y0[];
+extern VTBL_ENTRY _ZTV6G5x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y0[];
+Class_Descriptor cd_G5x1y0 = { "G5x1y0", // class name
+ bases_G5x1y0, 6,
+ &(vtc_G5x1y0[0]), // expected_vtbl_contents
+ &(vtt_G5x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y0),6, //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 G5x1y1 : virtual E5x1 , F1 {
+ int ff;
+ ~G5x1y1(); // tgen
+ G5x1y1(); // tgen
+};
+//SIG(1 G5x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x1y1 ::~G5x1y1(){ note_dtor("G5x1y1", this);} // tgen
+G5x1y1 ::G5x1y1(){ note_ctor("G5x1y1", this);} // tgen
+
+static void Test_G5x1y1()
+{
+ extern Class_Descriptor cd_G5x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x1y1, buf);
+ G5x1y1 *dp, &lv = *(dp=new (buf) G5x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y1)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x1y1");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x1y1");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(32,24), "G5x1y1");
+ check_base_class_offset(lv, (D1*)(E5x1*), ABISELECT(16,12), "G5x1y1");
+ check_base_class_offset(lv, (E5x1*), ABISELECT(16,12), "G5x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x1y1.ff");
+ test_class_info(&lv, &cd_G5x1y1);
+ dp->~G5x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y1(Test_G5x1y1, "G5x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y1C1Ev();
+extern void _ZN6G5x1y1D1Ev();
+Name_Map name_map_G5x1y1[] = {
+ NSPAIR(_ZN6G5x1y1C1Ev),
+ NSPAIR(_ZN6G5x1y1D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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 _ZTI6G5x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y1[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y1[] = {
+ {&(_ZTV6G5x1y1[4]), 4,17},
+ {&(_ZTV6G5x1y1[9]), 9,17},
+ {&(_ZTV6G5x1y1[13]), 13,17},
+ {&(_ZTV6G5x1y1[16]), 16,17},
+ {&(_tg__ZTV4E5x1__6G5x1y1[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y1[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x1y1[];
+extern VTBL_ENTRY _ZTV6G5x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y1[];
+Class_Descriptor cd_G5x1y1 = { "G5x1y1", // class name
+ bases_G5x1y1, 6,
+ &(vtc_G5x1y1[0]), // expected_vtbl_contents
+ &(vtt_G5x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y1),7, //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 G5x1y2 : E5x1 , virtual F1 {
+ int ff;
+ ~G5x1y2(); // tgen
+ G5x1y2(); // tgen
+};
+//SIG(1 G5x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x1y2 ::~G5x1y2(){ note_dtor("G5x1y2", this);} // tgen
+G5x1y2 ::G5x1y2(){ note_ctor("G5x1y2", this);} // tgen
+
+static void Test_G5x1y2()
+{
+ extern Class_Descriptor cd_G5x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x1y2, buf);
+ G5x1y2 *dp, &lv = *(dp=new (buf) G5x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y2)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x1y2");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x1y2");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(24,16), "G5x1y2");
+ check_base_class_offset(lv, (D1*)(E5x1*), 0, "G5x1y2");
+ check_base_class_offset(lv, (E5x1*), 0, "G5x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x1y2.ff");
+ test_class_info(&lv, &cd_G5x1y2);
+ dp->~G5x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y2(Test_G5x1y2, "G5x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y2C1Ev();
+extern void _ZN6G5x1y2D1Ev();
+Name_Map name_map_G5x1y2[] = {
+ NSPAIR(_ZN6G5x1y2C1Ev),
+ NSPAIR(_ZN6G5x1y2D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C5, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y2[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y2[] = {
+ {&(_ZTV6G5x1y2[4]), 4,16},
+ {&(_tg__ZTV4E5x1__6G5x1y2[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y2[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y2[2]), 2,3},
+ {&(_ZTV6G5x1y2[8]), 8,16},
+ {&(_ZTV6G5x1y2[11]), 11,16},
+ {&(_ZTV6G5x1y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G5x1y2[];
+extern VTBL_ENTRY _ZTV6G5x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y2[];
+Class_Descriptor cd_G5x1y2 = { "G5x1y2", // class name
+ bases_G5x1y2, 6,
+ &(vtc_G5x1y2[0]), // expected_vtbl_contents
+ &(vtt_G5x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y2),7, //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 G5x1y3 : virtual E5x1 , virtual F1 {
+ int ff;
+ ~G5x1y3(); // tgen
+ G5x1y3(); // tgen
+};
+//SIG(1 G5x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x1y3 ::~G5x1y3(){ note_dtor("G5x1y3", this);} // tgen
+G5x1y3 ::G5x1y3(){ note_ctor("G5x1y3", this);} // tgen
+
+static void Test_G5x1y3()
+{
+ extern Class_Descriptor cd_G5x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x1y3, buf);
+ G5x1y3 *dp, &lv = *(dp=new (buf) G5x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y3)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x1y3");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x1y3");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(32,20), "G5x1y3");
+ check_base_class_offset(lv, (D1*)(E5x1*), ABISELECT(16,8), "G5x1y3");
+ check_base_class_offset(lv, (E5x1*), ABISELECT(16,8), "G5x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G5x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x1y3.ff");
+ test_class_info(&lv, &cd_G5x1y3);
+ dp->~G5x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y3(Test_G5x1y3, "G5x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y3C1Ev();
+extern void _ZN6G5x1y3D1Ev();
+Name_Map name_map_G5x1y3[] = {
+ NSPAIR(_ZN6G5x1y3C1Ev),
+ NSPAIR(_ZN6G5x1y3D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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 _ZTI6G5x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y3[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y3[] = {
+ {&(_ZTV6G5x1y3[5]), 5,21},
+ {&(_ZTV6G5x1y3[9]), 9,21},
+ {&(_ZTV6G5x1y3[13]), 13,21},
+ {&(_ZTV6G5x1y3[16]), 16,21},
+ {&(_ZTV6G5x1y3[20]), 20,21},
+ {&(_tg__ZTV4E5x1__6G5x1y3[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y3[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x1y3[];
+extern VTBL_ENTRY _ZTV6G5x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y3[];
+Class_Descriptor cd_G5x1y3 = { "G5x1y3", // class name
+ bases_G5x1y3, 6,
+ &(vtc_G5x1y3[0]), // expected_vtbl_contents
+ &(vtt_G5x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y3),8, //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 G5x1y4 : E5x1 , F0 {
+ int ff;
+ ~G5x1y4(); // tgen
+ G5x1y4(); // tgen
+};
+//SIG(1 G5x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x1y4 ::~G5x1y4(){ note_dtor("G5x1y4", this);} // tgen
+G5x1y4 ::G5x1y4(){ note_ctor("G5x1y4", this);} // tgen
+
+static void Test_G5x1y4()
+{
+ extern Class_Descriptor cd_G5x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x1y4, buf);
+ G5x1y4 *dp, &lv = *(dp=new (buf) G5x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y4)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,20), "G5x1y4");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,28), "G5x1y4");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(24,20), "G5x1y4");
+ check_base_class_offset(lv, (D1*)(E5x1*), 0, "G5x1y4");
+ check_base_class_offset(lv, (E5x1*), 0, "G5x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G5x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G5x1y4.ff");
+ test_class_info(&lv, &cd_G5x1y4);
+ dp->~G5x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y4(Test_G5x1y4, "G5x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y4C1Ev();
+extern void _ZN6G5x1y4D1Ev();
+Name_Map name_map_G5x1y4[] = {
+ NSPAIR(_ZN6G5x1y4C1Ev),
+ NSPAIR(_ZN6G5x1y4D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 2, //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, 0},
+ {&cd_C5, ABISELECT(24,20), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y4[] = {
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y4[] = {
+ {&(_ZTV6G5x1y4[3]), 3,11},
+ {&(_tg__ZTV4E5x1__6G5x1y4[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y4[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y4[2]), 2,3},
+ {&(_ZTV6G5x1y4[7]), 7,11},
+ {&(_ZTV6G5x1y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x1y4[];
+extern VTBL_ENTRY _ZTV6G5x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y4[];
+Class_Descriptor cd_G5x1y4 = { "G5x1y4", // class name
+ bases_G5x1y4, 6,
+ &(vtc_G5x1y4[0]), // expected_vtbl_contents
+ &(vtt_G5x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y4),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 G5x1y5 : virtual E5x1 , F0 {
+ int ff;
+ ~G5x1y5(); // tgen
+ G5x1y5(); // tgen
+};
+//SIG(1 G5x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x1y5 ::~G5x1y5(){ note_dtor("G5x1y5", this);} // tgen
+G5x1y5 ::G5x1y5(){ note_ctor("G5x1y5", this);} // tgen
+
+static void Test_G5x1y5()
+{
+ extern Class_Descriptor cd_G5x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x1y5, buf);
+ G5x1y5 *dp, &lv = *(dp=new (buf) G5x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y5)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x1y5");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x1y5");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(32,24), "G5x1y5");
+ check_base_class_offset(lv, (D1*)(E5x1*), ABISELECT(16,12), "G5x1y5");
+ check_base_class_offset(lv, (E5x1*), ABISELECT(16,12), "G5x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x1y5.ff");
+ test_class_info(&lv, &cd_G5x1y5);
+ dp->~G5x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y5(Test_G5x1y5, "G5x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y5C1Ev();
+extern void _ZN6G5x1y5D1Ev();
+Name_Map name_map_G5x1y5[] = {
+ NSPAIR(_ZN6G5x1y5C1Ev),
+ NSPAIR(_ZN6G5x1y5D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 2, //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, 0},
+ {&cd_C5, ABISELECT(32,24), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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 _ZTI6G5x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y5[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y5[] = {
+ {&(_ZTV6G5x1y5[4]), 4,16},
+ {&(_ZTV6G5x1y5[8]), 8,16},
+ {&(_ZTV6G5x1y5[12]), 12,16},
+ {&(_ZTV6G5x1y5[15]), 15,16},
+ {&(_tg__ZTV4E5x1__6G5x1y5[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y5[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x1y5[];
+extern VTBL_ENTRY _ZTV6G5x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y5[];
+Class_Descriptor cd_G5x1y5 = { "G5x1y5", // class name
+ bases_G5x1y5, 6,
+ &(vtc_G5x1y5[0]), // expected_vtbl_contents
+ &(vtt_G5x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y5),7, //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 G5x1y6 : E5x1 , virtual F0 {
+ int ff;
+ ~G5x1y6(); // tgen
+ G5x1y6(); // tgen
+};
+//SIG(1 G5x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x1y6 ::~G5x1y6(){ note_dtor("G5x1y6", this);} // tgen
+G5x1y6 ::G5x1y6(){ note_ctor("G5x1y6", this);} // tgen
+
+static void Test_G5x1y6()
+{
+ extern Class_Descriptor cd_G5x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x1y6, buf);
+ G5x1y6 *dp, &lv = *(dp=new (buf) G5x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y6)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x1y6");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x1y6");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(24,16), "G5x1y6");
+ check_base_class_offset(lv, (D1*)(E5x1*), 0, "G5x1y6");
+ check_base_class_offset(lv, (E5x1*), 0, "G5x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G5x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x1y6.ff");
+ test_class_info(&lv, &cd_G5x1y6);
+ dp->~G5x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y6(Test_G5x1y6, "G5x1y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y6C1Ev();
+extern void _ZN6G5x1y6D1Ev();
+Name_Map name_map_G5x1y6[] = {
+ NSPAIR(_ZN6G5x1y6C1Ev),
+ NSPAIR(_ZN6G5x1y6D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C5, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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(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 _ZTI6G5x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y6[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y6[] = {
+ {&(_ZTV6G5x1y6[4]), 4,12},
+ {&(_tg__ZTV4E5x1__6G5x1y6[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y6[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y6[2]), 2,3},
+ {&(_ZTV6G5x1y6[8]), 8,12},
+ {&(_ZTV6G5x1y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G5x1y6[];
+extern VTBL_ENTRY _ZTV6G5x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y6[];
+Class_Descriptor cd_G5x1y6 = { "G5x1y6", // class name
+ bases_G5x1y6, 6,
+ &(vtc_G5x1y6[0]), // expected_vtbl_contents
+ &(vtt_G5x1y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y6),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 G5x1y7 : virtual E5x1 , virtual F0 {
+ int ff;
+ ~G5x1y7(); // tgen
+ G5x1y7(); // tgen
+};
+//SIG(1 G5x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x1y7 ::~G5x1y7(){ note_dtor("G5x1y7", this);} // tgen
+G5x1y7 ::G5x1y7(){ note_ctor("G5x1y7", this);} // tgen
+
+static void Test_G5x1y7()
+{
+ extern Class_Descriptor cd_G5x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x1y7, buf);
+ G5x1y7 *dp, &lv = *(dp=new (buf) G5x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x1y7)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x1y7");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x1y7");
+ check_base_class_offset(lv, (C5*)(E5x1*), ABISELECT(32,20), "G5x1y7");
+ check_base_class_offset(lv, (D1*)(E5x1*), ABISELECT(16,8), "G5x1y7");
+ check_base_class_offset(lv, (E5x1*), ABISELECT(16,8), "G5x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G5x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x1y7.ff");
+ test_class_info(&lv, &cd_G5x1y7);
+ dp->~G5x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x1y7(Test_G5x1y7, "G5x1y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x1y7C1Ev();
+extern void _ZN6G5x1y7D1Ev();
+Name_Map name_map_G5x1y7[] = {
+ NSPAIR(_ZN6G5x1y7C1Ev),
+ NSPAIR(_ZN6G5x1y7D1Ev),
+ {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_E5x1;
+extern VTBL_ENTRY _ZTI4E5x1[];
+extern VTBL_ENTRY _ZTV4E5x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x1, 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(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 _ZTI6G5x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x1y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x1__6G5x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x1__6G5x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x1__6G5x1y7[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x1y7[] = {
+ {&(_ZTV6G5x1y7[5]), 5,17},
+ {&(_ZTV6G5x1y7[9]), 9,17},
+ {&(_ZTV6G5x1y7[13]), 13,17},
+ {&(_ZTV6G5x1y7[16]), 16,17},
+ {&(_tg__ZTV4E5x1__6G5x1y7[3]), 3,4},
+ {&(_tg__ZTV2A12C5__4E5x1__6G5x1y7[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x1__6G5x1y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x1y7[];
+extern VTBL_ENTRY _ZTV6G5x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x1y7[];
+Class_Descriptor cd_G5x1y7 = { "G5x1y7", // class name
+ bases_G5x1y7, 6,
+ &(vtc_G5x1y7[0]), // expected_vtbl_contents
+ &(vtt_G5x1y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x1y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x1y7),7, //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 E6x1 : virtual C6 , D1 {
+ int fd;
+ ~E6x1(); // tgen
+ E6x1(); // tgen
+};
+//SIG(-1 E6x1) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E6x1 ::~E6x1(){ note_dtor("E6x1", this);} // tgen
+E6x1 ::E6x1(){ note_ctor("E6x1", this);} // tgen
+
+static void Test_E6x1()
+{
+ extern Class_Descriptor cd_E6x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x1, buf);
+ E6x1 *dp, &lv = *(dp=new (buf) E6x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x1)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "E6x1");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "E6x1");
+ check_base_class_offset(lv, (C6*), ABISELECT(16,12), "E6x1");
+ check_base_class_offset(lv, (D1*), 0, "E6x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E6x1.fd");
+ test_class_info(&lv, &cd_E6x1);
+ dp->~E6x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x1(Test_E6x1, "E6x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x1C1Ev();
+extern void _ZN4E6x1D1Ev();
+Name_Map name_map_E6x1[] = {
+ NSPAIR(_ZN4E6x1C1Ev),
+ NSPAIR(_ZN4E6x1D1Ev),
+ {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_E6x1[] = {
+ // 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, 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
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E6x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x1[] = {
+ {&(_ZTV4E6x1[4]), 4,10},
+ {&(_ZTV4E6x1[9]), 9,10},
+ {&(_tg__ZTV2C6__4E6x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+Class_Descriptor cd_E6x1 = { "E6x1", // class name
+ bases_E6x1, 4,
+ &(vtc_E6x1[0]), // expected_vtbl_contents
+ &(vtt_E6x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x1),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 G6x1y0 : E6x1 , F1 {
+ int ff;
+ ~G6x1y0(); // tgen
+ G6x1y0(); // tgen
+};
+//SIG(1 G6x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x1y0 ::~G6x1y0(){ note_dtor("G6x1y0", this);} // tgen
+G6x1y0 ::G6x1y0(){ note_ctor("G6x1y0", this);} // tgen
+
+static void Test_G6x1y0()
+{
+ extern Class_Descriptor cd_G6x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x1y0, buf);
+ G6x1y0 *dp, &lv = *(dp=new (buf) G6x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y0)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x1y0");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x1y0");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(32,24), "G6x1y0");
+ check_base_class_offset(lv, (D1*)(E6x1*), 0, "G6x1y0");
+ check_base_class_offset(lv, (E6x1*), 0, "G6x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G6x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G6x1y0.ff");
+ test_class_info(&lv, &cd_G6x1y0);
+ dp->~G6x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y0(Test_G6x1y0, "G6x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y0C1Ev();
+extern void _ZN6G6x1y0D1Ev();
+Name_Map name_map_G6x1y0[] = {
+ NSPAIR(_ZN6G6x1y0C1Ev),
+ NSPAIR(_ZN6G6x1y0D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x1y0[] = {
+ // 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(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_C6, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y0[] = {
+ {&(_ZTV6G6x1y0[4]), 4,13},
+ {&(_tg__ZTV4E6x1__6G6x1y0[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y0[4]), 4,5},
+ {&(_ZTV6G6x1y0[12]), 12,13},
+ {&(_tg__ZTV2C6__6G6x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y0[];
+extern VTBL_ENTRY _ZTV6G6x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y0[];
+Class_Descriptor cd_G6x1y0 = { "G6x1y0", // class name
+ bases_G6x1y0, 6,
+ &(vtc_G6x1y0[0]), // expected_vtbl_contents
+ &(vtt_G6x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y0),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 G6x1y1 : virtual E6x1 , F1 {
+ int ff;
+ ~G6x1y1(); // tgen
+ G6x1y1(); // tgen
+};
+//SIG(1 G6x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x1y1 ::~G6x1y1(){ note_dtor("G6x1y1", this);} // tgen
+G6x1y1 ::G6x1y1(){ note_ctor("G6x1y1", this);} // tgen
+
+static void Test_G6x1y1()
+{
+ extern Class_Descriptor cd_G6x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x1y1, buf);
+ G6x1y1 *dp, &lv = *(dp=new (buf) G6x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y1)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x1y1");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x1y1");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(32,24), "G6x1y1");
+ check_base_class_offset(lv, (D1*)(E6x1*), ABISELECT(16,12), "G6x1y1");
+ check_base_class_offset(lv, (E6x1*), ABISELECT(16,12), "G6x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x1y1.ff");
+ test_class_info(&lv, &cd_G6x1y1);
+ dp->~G6x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y1(Test_G6x1y1, "G6x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y1C1Ev();
+extern void _ZN6G6x1y1D1Ev();
+Name_Map name_map_G6x1y1[] = {
+ NSPAIR(_ZN6G6x1y1C1Ev),
+ NSPAIR(_ZN6G6x1y1D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x1y1[] = {
+ // 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(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_C6, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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
+ 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 _ZTI6G6x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y1[] = {
+ {&(_ZTV6G6x1y1[5]), 5,17},
+ {&(_ZTV6G6x1y1[11]), 11,17},
+ {&(_ZTV6G6x1y1[16]), 16,17},
+ {&(_tg__ZTV4E6x1__6G6x1y1[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y1[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y1[];
+extern VTBL_ENTRY _ZTV6G6x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y1[];
+Class_Descriptor cd_G6x1y1 = { "G6x1y1", // class name
+ bases_G6x1y1, 6,
+ &(vtc_G6x1y1[0]), // expected_vtbl_contents
+ &(vtt_G6x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y1),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 G6x1y2 : E6x1 , virtual F1 {
+ int ff;
+ ~G6x1y2(); // tgen
+ G6x1y2(); // tgen
+};
+//SIG(1 G6x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x1y2 ::~G6x1y2(){ note_dtor("G6x1y2", this);} // tgen
+G6x1y2 ::G6x1y2(){ note_ctor("G6x1y2", this);} // tgen
+
+static void Test_G6x1y2()
+{
+ extern Class_Descriptor cd_G6x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x1y2, buf);
+ G6x1y2 *dp, &lv = *(dp=new (buf) G6x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y2)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x1y2");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x1y2");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(24,16), "G6x1y2");
+ check_base_class_offset(lv, (D1*)(E6x1*), 0, "G6x1y2");
+ check_base_class_offset(lv, (E6x1*), 0, "G6x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G6x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x1y2.ff");
+ test_class_info(&lv, &cd_G6x1y2);
+ dp->~G6x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y2(Test_G6x1y2, "G6x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y2C1Ev();
+extern void _ZN6G6x1y2D1Ev();
+Name_Map name_map_G6x1y2[] = {
+ NSPAIR(_ZN6G6x1y2C1Ev),
+ NSPAIR(_ZN6G6x1y2D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x1y2[] = {
+ // 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(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_C6, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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(48,32), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y2[] = {
+ {&(_ZTV6G6x1y2[5]), 5,15},
+ {&(_tg__ZTV4E6x1__6G6x1y2[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y2[4]), 4,5},
+ {&(_ZTV6G6x1y2[10]), 10,15},
+ {&(_ZTV6G6x1y2[14]), 14,15},
+ {&(_tg__ZTV2C6__6G6x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y2[];
+extern VTBL_ENTRY _ZTV6G6x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y2[];
+Class_Descriptor cd_G6x1y2 = { "G6x1y2", // class name
+ bases_G6x1y2, 6,
+ &(vtc_G6x1y2[0]), // expected_vtbl_contents
+ &(vtt_G6x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y2),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 G6x1y3 : virtual E6x1 , virtual F1 {
+ int ff;
+ ~G6x1y3(); // tgen
+ G6x1y3(); // tgen
+};
+//SIG(1 G6x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x1y3 ::~G6x1y3(){ note_dtor("G6x1y3", this);} // tgen
+G6x1y3 ::G6x1y3(){ note_ctor("G6x1y3", this);} // tgen
+
+static void Test_G6x1y3()
+{
+ extern Class_Descriptor cd_G6x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x1y3, buf);
+ G6x1y3 *dp, &lv = *(dp=new (buf) G6x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y3)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x1y3");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x1y3");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(32,20), "G6x1y3");
+ check_base_class_offset(lv, (D1*)(E6x1*), ABISELECT(16,8), "G6x1y3");
+ check_base_class_offset(lv, (E6x1*), ABISELECT(16,8), "G6x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x1y3.ff");
+ test_class_info(&lv, &cd_G6x1y3);
+ dp->~G6x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y3(Test_G6x1y3, "G6x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y3C1Ev();
+extern void _ZN6G6x1y3D1Ev();
+Name_Map name_map_G6x1y3[] = {
+ NSPAIR(_ZN6G6x1y3C1Ev),
+ NSPAIR(_ZN6G6x1y3D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x1y3[] = {
+ // 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(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_C6, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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_F1, ABISELECT(56,36), //bcp->offset
+ 17, //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 _ZTI6G6x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y3[] = {
+ {&(_ZTV6G6x1y3[6]), 6,21},
+ {&(_ZTV6G6x1y3[11]), 11,21},
+ {&(_ZTV6G6x1y3[16]), 16,21},
+ {&(_ZTV6G6x1y3[20]), 20,21},
+ {&(_tg__ZTV4E6x1__6G6x1y3[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y3[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y3[];
+extern VTBL_ENTRY _ZTV6G6x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y3[];
+Class_Descriptor cd_G6x1y3 = { "G6x1y3", // class name
+ bases_G6x1y3, 6,
+ &(vtc_G6x1y3[0]), // expected_vtbl_contents
+ &(vtt_G6x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y3),7, //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 G6x1y4 : E6x1 , F0 {
+ int ff;
+ ~G6x1y4(); // tgen
+ G6x1y4(); // tgen
+};
+//SIG(1 G6x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x1y4 ::~G6x1y4(){ note_dtor("G6x1y4", this);} // tgen
+G6x1y4 ::G6x1y4(){ note_ctor("G6x1y4", this);} // tgen
+
+static void Test_G6x1y4()
+{
+ extern Class_Descriptor cd_G6x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x1y4, buf);
+ G6x1y4 *dp, &lv = *(dp=new (buf) G6x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y4)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,32), "G6x1y4");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,20), "G6x1y4");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(24,20), "G6x1y4");
+ check_base_class_offset(lv, (D1*)(E6x1*), 0, "G6x1y4");
+ check_base_class_offset(lv, (E6x1*), 0, "G6x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G6x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x1y4.ff");
+ test_class_info(&lv, &cd_G6x1y4);
+ dp->~G6x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y4(Test_G6x1y4, "G6x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y4C1Ev();
+extern void _ZN6G6x1y4D1Ev();
+Name_Map name_map_G6x1y4[] = {
+ NSPAIR(_ZN6G6x1y4C1Ev),
+ NSPAIR(_ZN6G6x1y4D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x1y4[] = {
+ // 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, ABISELECT(24,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_C6, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y4[] = {
+ {&(_ZTV6G6x1y4[4]), 4,10},
+ {&(_tg__ZTV4E6x1__6G6x1y4[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y4[4]), 4,5},
+ {&(_ZTV6G6x1y4[9]), 9,10},
+ {&(_tg__ZTV2C6__6G6x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y4[];
+extern VTBL_ENTRY _ZTV6G6x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y4[];
+Class_Descriptor cd_G6x1y4 = { "G6x1y4", // class name
+ bases_G6x1y4, 6,
+ &(vtc_G6x1y4[0]), // expected_vtbl_contents
+ &(vtt_G6x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y4),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 G6x1y5 : virtual E6x1 , F0 {
+ int ff;
+ ~G6x1y5(); // tgen
+ G6x1y5(); // tgen
+};
+//SIG(1 G6x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x1y5 ::~G6x1y5(){ note_dtor("G6x1y5", this);} // tgen
+G6x1y5 ::G6x1y5(){ note_ctor("G6x1y5", this);} // tgen
+
+static void Test_G6x1y5()
+{
+ extern Class_Descriptor cd_G6x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x1y5, buf);
+ G6x1y5 *dp, &lv = *(dp=new (buf) G6x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y5)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x1y5");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x1y5");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(32,24), "G6x1y5");
+ check_base_class_offset(lv, (D1*)(E6x1*), ABISELECT(16,12), "G6x1y5");
+ check_base_class_offset(lv, (E6x1*), ABISELECT(16,12), "G6x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x1y5.ff");
+ test_class_info(&lv, &cd_G6x1y5);
+ dp->~G6x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y5(Test_G6x1y5, "G6x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y5C1Ev();
+extern void _ZN6G6x1y5D1Ev();
+Name_Map name_map_G6x1y5[] = {
+ NSPAIR(_ZN6G6x1y5C1Ev),
+ NSPAIR(_ZN6G6x1y5D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x1y5[] = {
+ // 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(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_C6, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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
+ 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 _ZTI6G6x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y5[] = {
+ {&(_ZTV6G6x1y5[5]), 5,16},
+ {&(_ZTV6G6x1y5[10]), 10,16},
+ {&(_ZTV6G6x1y5[15]), 15,16},
+ {&(_tg__ZTV4E6x1__6G6x1y5[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y5[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y5[];
+extern VTBL_ENTRY _ZTV6G6x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y5[];
+Class_Descriptor cd_G6x1y5 = { "G6x1y5", // class name
+ bases_G6x1y5, 6,
+ &(vtc_G6x1y5[0]), // expected_vtbl_contents
+ &(vtt_G6x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y5),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 G6x1y6 : E6x1 , virtual F0 {
+ int ff;
+ ~G6x1y6(); // tgen
+ G6x1y6(); // tgen
+};
+//SIG(1 G6x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x1y6 ::~G6x1y6(){ note_dtor("G6x1y6", this);} // tgen
+G6x1y6 ::G6x1y6(){ note_ctor("G6x1y6", this);} // tgen
+
+static void Test_G6x1y6()
+{
+ extern Class_Descriptor cd_G6x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x1y6, buf);
+ G6x1y6 *dp, &lv = *(dp=new (buf) G6x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y6)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x1y6");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x1y6");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(24,16), "G6x1y6");
+ check_base_class_offset(lv, (D1*)(E6x1*), 0, "G6x1y6");
+ check_base_class_offset(lv, (E6x1*), 0, "G6x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G6x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x1y6.ff");
+ test_class_info(&lv, &cd_G6x1y6);
+ dp->~G6x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y6(Test_G6x1y6, "G6x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y6C1Ev();
+extern void _ZN6G6x1y6D1Ev();
+Name_Map name_map_G6x1y6[] = {
+ NSPAIR(_ZN6G6x1y6C1Ev),
+ NSPAIR(_ZN6G6x1y6D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x1y6[] = {
+ // 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(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_C6, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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(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 _ZTI6G6x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y6[] = {
+ {&(_ZTV6G6x1y6[5]), 5,11},
+ {&(_tg__ZTV4E6x1__6G6x1y6[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y6[4]), 4,5},
+ {&(_ZTV6G6x1y6[10]), 10,11},
+ {&(_tg__ZTV2C6__6G6x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y6[];
+extern VTBL_ENTRY _ZTV6G6x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y6[];
+Class_Descriptor cd_G6x1y6 = { "G6x1y6", // class name
+ bases_G6x1y6, 6,
+ &(vtc_G6x1y6[0]), // expected_vtbl_contents
+ &(vtt_G6x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y6),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 G6x1y7 : virtual E6x1 , virtual F0 {
+ int ff;
+ ~G6x1y7(); // tgen
+ G6x1y7(); // tgen
+};
+//SIG(1 G6x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x1y7 ::~G6x1y7(){ note_dtor("G6x1y7", this);} // tgen
+G6x1y7 ::G6x1y7(){ note_ctor("G6x1y7", this);} // tgen
+
+static void Test_G6x1y7()
+{
+ extern Class_Descriptor cd_G6x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x1y7, buf);
+ G6x1y7 *dp, &lv = *(dp=new (buf) G6x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x1y7)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x1y7");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x1y7");
+ check_base_class_offset(lv, (C6*)(E6x1*), ABISELECT(32,20), "G6x1y7");
+ check_base_class_offset(lv, (D1*)(E6x1*), ABISELECT(16,8), "G6x1y7");
+ check_base_class_offset(lv, (E6x1*), ABISELECT(16,8), "G6x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x1y7.ff");
+ test_class_info(&lv, &cd_G6x1y7);
+ dp->~G6x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x1y7(Test_G6x1y7, "G6x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x1y7C1Ev();
+extern void _ZN6G6x1y7D1Ev();
+Name_Map name_map_G6x1y7[] = {
+ NSPAIR(_ZN6G6x1y7C1Ev),
+ NSPAIR(_ZN6G6x1y7D1Ev),
+ {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_E6x1;
+extern VTBL_ENTRY _ZTI4E6x1[];
+extern VTBL_ENTRY _ZTV4E6x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x1y7[] = {
+ // 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(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_C6, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E6x1, 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
+ 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 _ZTI6G6x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x1__6G6x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x1__6G6x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x1y7[] = {
+ {&(_ZTV6G6x1y7[6]), 6,17},
+ {&(_ZTV6G6x1y7[11]), 11,17},
+ {&(_ZTV6G6x1y7[16]), 16,17},
+ {&(_tg__ZTV4E6x1__6G6x1y7[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x1__6G6x1y7[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x1y7[];
+extern VTBL_ENTRY _ZTV6G6x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x1y7[];
+Class_Descriptor cd_G6x1y7 = { "G6x1y7", // class name
+ bases_G6x1y7, 6,
+ &(vtc_G6x1y7[0]), // expected_vtbl_contents
+ &(vtt_G6x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x1y7),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 E7x1 : virtual C7 , D1 {
+ int fd;
+ ~E7x1(); // tgen
+ E7x1(); // tgen
+};
+//SIG(-1 E7x1) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E7x1 ::~E7x1(){ note_dtor("E7x1", this);} // tgen
+E7x1 ::E7x1(){ note_ctor("E7x1", this);} // tgen
+
+static void Test_E7x1()
+{
+ extern Class_Descriptor cd_E7x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E7x1, buf);
+ E7x1 *dp, &lv = *(dp=new (buf) E7x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E7x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x1)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "E7x1");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "E7x1");
+ check_base_class_offset(lv, (C7*), ABISELECT(16,12), "E7x1");
+ check_base_class_offset(lv, (D1*), 0, "E7x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E7x1.fd");
+ test_class_info(&lv, &cd_E7x1);
+ dp->~E7x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x1(Test_E7x1, "E7x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x1C1Ev();
+extern void _ZN4E7x1D1Ev();
+Name_Map name_map_E7x1[] = {
+ NSPAIR(_ZN4E7x1C1Ev),
+ NSPAIR(_ZN4E7x1D1Ev),
+ {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_E7x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x1[] = {
+ {&(_ZTV4E7x1[4]), 4,14},
+ {&(_ZTV4E7x1[9]), 9,14},
+ {&(_ZTV4E7x1[13]), 13,14},
+ {&(_tg__ZTV2C7__4E7x1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+Class_Descriptor cd_E7x1 = { "E7x1", // class name
+ bases_E7x1, 4,
+ &(vtc_E7x1[0]), // expected_vtbl_contents
+ &(vtt_E7x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E7x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x1),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 G7x1y0 : E7x1 , F1 {
+ int ff;
+ ~G7x1y0(); // tgen
+ G7x1y0(); // tgen
+};
+//SIG(1 G7x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x1y0 ::~G7x1y0(){ note_dtor("G7x1y0", this);} // tgen
+G7x1y0 ::G7x1y0(){ note_ctor("G7x1y0", this);} // tgen
+
+static void Test_G7x1y0()
+{
+ extern Class_Descriptor cd_G7x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x1y0, buf);
+ G7x1y0 *dp, &lv = *(dp=new (buf) G7x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y0)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x1y0");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x1y0");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(32,24), "G7x1y0");
+ check_base_class_offset(lv, (D1*)(E7x1*), 0, "G7x1y0");
+ check_base_class_offset(lv, (E7x1*), 0, "G7x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G7x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G7x1y0.ff");
+ test_class_info(&lv, &cd_G7x1y0);
+ dp->~G7x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y0(Test_G7x1y0, "G7x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y0C1Ev();
+extern void _ZN6G7x1y0D1Ev();
+Name_Map name_map_G7x1y0[] = {
+ NSPAIR(_ZN6G7x1y0C1Ev),
+ NSPAIR(_ZN6G7x1y0D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x1y0[] = {
+ // 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)
+ 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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y0[] = {
+ {&(_ZTV6G7x1y0[4]), 4,17},
+ {&(_tg__ZTV4E7x1__6G7x1y0[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y0[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y0[3]), 3,4},
+ {&(_ZTV6G7x1y0[12]), 12,17},
+ {&(_ZTV6G7x1y0[16]), 16,17},
+ {&(_tg__ZTV2C7__6G7x1y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y0[];
+extern VTBL_ENTRY _ZTV6G7x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y0[];
+Class_Descriptor cd_G7x1y0 = { "G7x1y0", // class name
+ bases_G7x1y0, 6,
+ &(vtc_G7x1y0[0]), // expected_vtbl_contents
+ &(vtt_G7x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y0),8, //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 G7x1y1 : virtual E7x1 , F1 {
+ int ff;
+ ~G7x1y1(); // tgen
+ G7x1y1(); // tgen
+};
+//SIG(1 G7x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x1y1 ::~G7x1y1(){ note_dtor("G7x1y1", this);} // tgen
+G7x1y1 ::G7x1y1(){ note_ctor("G7x1y1", this);} // tgen
+
+static void Test_G7x1y1()
+{
+ extern Class_Descriptor cd_G7x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x1y1, buf);
+ G7x1y1 *dp, &lv = *(dp=new (buf) G7x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y1)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x1y1");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x1y1");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(32,24), "G7x1y1");
+ check_base_class_offset(lv, (D1*)(E7x1*), ABISELECT(16,12), "G7x1y1");
+ check_base_class_offset(lv, (E7x1*), ABISELECT(16,12), "G7x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x1y1.ff");
+ test_class_info(&lv, &cd_G7x1y1);
+ dp->~G7x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y1(Test_G7x1y1, "G7x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y1C1Ev();
+extern void _ZN6G7x1y1D1Ev();
+Name_Map name_map_G7x1y1[] = {
+ NSPAIR(_ZN6G7x1y1C1Ev),
+ NSPAIR(_ZN6G7x1y1D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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
+ 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 _ZTI6G7x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y1[] = {
+ {&(_ZTV6G7x1y1[5]), 5,21},
+ {&(_ZTV6G7x1y1[11]), 11,21},
+ {&(_ZTV6G7x1y1[16]), 16,21},
+ {&(_ZTV6G7x1y1[20]), 20,21},
+ {&(_tg__ZTV4E7x1__6G7x1y1[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y1[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y1[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x1y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y1[];
+extern VTBL_ENTRY _ZTV6G7x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y1[];
+Class_Descriptor cd_G7x1y1 = { "G7x1y1", // class name
+ bases_G7x1y1, 6,
+ &(vtc_G7x1y1[0]), // expected_vtbl_contents
+ &(vtt_G7x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y1),9, //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 G7x1y2 : E7x1 , virtual F1 {
+ int ff;
+ ~G7x1y2(); // tgen
+ G7x1y2(); // tgen
+};
+//SIG(1 G7x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x1y2 ::~G7x1y2(){ note_dtor("G7x1y2", this);} // tgen
+G7x1y2 ::G7x1y2(){ note_ctor("G7x1y2", this);} // tgen
+
+static void Test_G7x1y2()
+{
+ extern Class_Descriptor cd_G7x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x1y2, buf);
+ G7x1y2 *dp, &lv = *(dp=new (buf) G7x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y2)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x1y2");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x1y2");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(24,16), "G7x1y2");
+ check_base_class_offset(lv, (D1*)(E7x1*), 0, "G7x1y2");
+ check_base_class_offset(lv, (E7x1*), 0, "G7x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x1y2.ff");
+ test_class_info(&lv, &cd_G7x1y2);
+ dp->~G7x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y2(Test_G7x1y2, "G7x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y2C1Ev();
+extern void _ZN6G7x1y2D1Ev();
+Name_Map name_map_G7x1y2[] = {
+ NSPAIR(_ZN6G7x1y2C1Ev),
+ NSPAIR(_ZN6G7x1y2D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y2[] = {
+ {&(_ZTV6G7x1y2[5]), 5,19},
+ {&(_tg__ZTV4E7x1__6G7x1y2[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y2[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y2[3]), 3,4},
+ {&(_ZTV6G7x1y2[10]), 10,19},
+ {&(_ZTV6G7x1y2[14]), 14,19},
+ {&(_ZTV6G7x1y2[18]), 18,19},
+ {&(_tg__ZTV2C7__6G7x1y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y2[];
+extern VTBL_ENTRY _ZTV6G7x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y2[];
+Class_Descriptor cd_G7x1y2 = { "G7x1y2", // class name
+ bases_G7x1y2, 6,
+ &(vtc_G7x1y2[0]), // expected_vtbl_contents
+ &(vtt_G7x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y2),9, //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 G7x1y3 : virtual E7x1 , virtual F1 {
+ int ff;
+ ~G7x1y3(); // tgen
+ G7x1y3(); // tgen
+};
+//SIG(1 G7x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x1y3 ::~G7x1y3(){ note_dtor("G7x1y3", this);} // tgen
+G7x1y3 ::G7x1y3(){ note_ctor("G7x1y3", this);} // tgen
+
+static void Test_G7x1y3()
+{
+ extern Class_Descriptor cd_G7x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x1y3, buf);
+ G7x1y3 *dp, &lv = *(dp=new (buf) G7x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y3)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x1y3");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x1y3");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(32,20), "G7x1y3");
+ check_base_class_offset(lv, (D1*)(E7x1*), ABISELECT(16,8), "G7x1y3");
+ check_base_class_offset(lv, (E7x1*), ABISELECT(16,8), "G7x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x1y3.ff");
+ test_class_info(&lv, &cd_G7x1y3);
+ dp->~G7x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y3(Test_G7x1y3, "G7x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y3C1Ev();
+extern void _ZN6G7x1y3D1Ev();
+Name_Map name_map_G7x1y3[] = {
+ NSPAIR(_ZN6G7x1y3C1Ev),
+ NSPAIR(_ZN6G7x1y3D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 21, //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 _ZTI6G7x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y3[] = {
+ {&(_ZTV6G7x1y3[6]), 6,25},
+ {&(_ZTV6G7x1y3[11]), 11,25},
+ {&(_ZTV6G7x1y3[16]), 16,25},
+ {&(_ZTV6G7x1y3[20]), 20,25},
+ {&(_ZTV6G7x1y3[24]), 24,25},
+ {&(_tg__ZTV4E7x1__6G7x1y3[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y3[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y3[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x1y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y3[];
+extern VTBL_ENTRY _ZTV6G7x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y3[];
+Class_Descriptor cd_G7x1y3 = { "G7x1y3", // class name
+ bases_G7x1y3, 6,
+ &(vtc_G7x1y3[0]), // expected_vtbl_contents
+ &(vtt_G7x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y3),10, //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 G7x1y4 : E7x1 , F0 {
+ int ff;
+ ~G7x1y4(); // tgen
+ G7x1y4(); // tgen
+};
+//SIG(1 G7x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x1y4 ::~G7x1y4(){ note_dtor("G7x1y4", this);} // tgen
+G7x1y4 ::G7x1y4(){ note_ctor("G7x1y4", this);} // tgen
+
+static void Test_G7x1y4()
+{
+ extern Class_Descriptor cd_G7x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x1y4, buf);
+ G7x1y4 *dp, &lv = *(dp=new (buf) G7x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y4)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,32), "G7x1y4");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,20), "G7x1y4");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(24,20), "G7x1y4");
+ check_base_class_offset(lv, (D1*)(E7x1*), 0, "G7x1y4");
+ check_base_class_offset(lv, (E7x1*), 0, "G7x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G7x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x1y4.ff");
+ test_class_info(&lv, &cd_G7x1y4);
+ dp->~G7x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y4(Test_G7x1y4, "G7x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y4C1Ev();
+extern void _ZN6G7x1y4D1Ev();
+Name_Map name_map_G7x1y4[] = {
+ NSPAIR(_ZN6G7x1y4C1Ev),
+ NSPAIR(_ZN6G7x1y4D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //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, ABISELECT(24,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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_F0, 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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y4[] = {
+ {&(_ZTV6G7x1y4[4]), 4,14},
+ {&(_tg__ZTV4E7x1__6G7x1y4[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y4[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y4[3]), 3,4},
+ {&(_ZTV6G7x1y4[9]), 9,14},
+ {&(_ZTV6G7x1y4[13]), 13,14},
+ {&(_tg__ZTV2C7__6G7x1y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y4[];
+extern VTBL_ENTRY _ZTV6G7x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y4[];
+Class_Descriptor cd_G7x1y4 = { "G7x1y4", // class name
+ bases_G7x1y4, 6,
+ &(vtc_G7x1y4[0]), // expected_vtbl_contents
+ &(vtt_G7x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y4),8, //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 G7x1y5 : virtual E7x1 , F0 {
+ int ff;
+ ~G7x1y5(); // tgen
+ G7x1y5(); // tgen
+};
+//SIG(1 G7x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x1y5 ::~G7x1y5(){ note_dtor("G7x1y5", this);} // tgen
+G7x1y5 ::G7x1y5(){ note_ctor("G7x1y5", this);} // tgen
+
+static void Test_G7x1y5()
+{
+ extern Class_Descriptor cd_G7x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x1y5, buf);
+ G7x1y5 *dp, &lv = *(dp=new (buf) G7x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y5)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x1y5");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x1y5");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(32,24), "G7x1y5");
+ check_base_class_offset(lv, (D1*)(E7x1*), ABISELECT(16,12), "G7x1y5");
+ check_base_class_offset(lv, (E7x1*), ABISELECT(16,12), "G7x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x1y5.ff");
+ test_class_info(&lv, &cd_G7x1y5);
+ dp->~G7x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y5(Test_G7x1y5, "G7x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y5C1Ev();
+extern void _ZN6G7x1y5D1Ev();
+Name_Map name_map_G7x1y5[] = {
+ NSPAIR(_ZN6G7x1y5C1Ev),
+ NSPAIR(_ZN6G7x1y5D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 16, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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
+ 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 _ZTI6G7x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y5[] = {
+ {&(_ZTV6G7x1y5[5]), 5,20},
+ {&(_ZTV6G7x1y5[10]), 10,20},
+ {&(_ZTV6G7x1y5[15]), 15,20},
+ {&(_ZTV6G7x1y5[19]), 19,20},
+ {&(_tg__ZTV4E7x1__6G7x1y5[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y5[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y5[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x1y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y5[];
+extern VTBL_ENTRY _ZTV6G7x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y5[];
+Class_Descriptor cd_G7x1y5 = { "G7x1y5", // class name
+ bases_G7x1y5, 6,
+ &(vtc_G7x1y5[0]), // expected_vtbl_contents
+ &(vtt_G7x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y5),9, //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 G7x1y6 : E7x1 , virtual F0 {
+ int ff;
+ ~G7x1y6(); // tgen
+ G7x1y6(); // tgen
+};
+//SIG(1 G7x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x1y6 ::~G7x1y6(){ note_dtor("G7x1y6", this);} // tgen
+G7x1y6 ::G7x1y6(){ note_ctor("G7x1y6", this);} // tgen
+
+static void Test_G7x1y6()
+{
+ extern Class_Descriptor cd_G7x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x1y6, buf);
+ G7x1y6 *dp, &lv = *(dp=new (buf) G7x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y6)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x1y6");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x1y6");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(24,16), "G7x1y6");
+ check_base_class_offset(lv, (D1*)(E7x1*), 0, "G7x1y6");
+ check_base_class_offset(lv, (E7x1*), 0, "G7x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x1y6.ff");
+ test_class_info(&lv, &cd_G7x1y6);
+ dp->~G7x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y6(Test_G7x1y6, "G7x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y6C1Ev();
+extern void _ZN6G7x1y6D1Ev();
+Name_Map name_map_G7x1y6[] = {
+ NSPAIR(_ZN6G7x1y6C1Ev),
+ NSPAIR(_ZN6G7x1y6D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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_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 _ZTI6G7x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y6[] = {
+ {&(_ZTV6G7x1y6[5]), 5,15},
+ {&(_tg__ZTV4E7x1__6G7x1y6[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y6[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y6[3]), 3,4},
+ {&(_ZTV6G7x1y6[10]), 10,15},
+ {&(_ZTV6G7x1y6[14]), 14,15},
+ {&(_tg__ZTV2C7__6G7x1y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y6[];
+extern VTBL_ENTRY _ZTV6G7x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y6[];
+Class_Descriptor cd_G7x1y6 = { "G7x1y6", // class name
+ bases_G7x1y6, 6,
+ &(vtc_G7x1y6[0]), // expected_vtbl_contents
+ &(vtt_G7x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y6),8, //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 G7x1y7 : virtual E7x1 , virtual F0 {
+ int ff;
+ ~G7x1y7(); // tgen
+ G7x1y7(); // tgen
+};
+//SIG(1 G7x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x1y7 ::~G7x1y7(){ note_dtor("G7x1y7", this);} // tgen
+G7x1y7 ::G7x1y7(){ note_ctor("G7x1y7", this);} // tgen
+
+static void Test_G7x1y7()
+{
+ extern Class_Descriptor cd_G7x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x1y7, buf);
+ G7x1y7 *dp, &lv = *(dp=new (buf) G7x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x1y7)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x1y7");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x1y7");
+ check_base_class_offset(lv, (C7*)(E7x1*), ABISELECT(32,20), "G7x1y7");
+ check_base_class_offset(lv, (D1*)(E7x1*), ABISELECT(16,8), "G7x1y7");
+ check_base_class_offset(lv, (E7x1*), ABISELECT(16,8), "G7x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G7x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x1y7.ff");
+ test_class_info(&lv, &cd_G7x1y7);
+ dp->~G7x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x1y7(Test_G7x1y7, "G7x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x1y7C1Ev();
+extern void _ZN6G7x1y7D1Ev();
+Name_Map name_map_G7x1y7[] = {
+ NSPAIR(_ZN6G7x1y7C1Ev),
+ NSPAIR(_ZN6G7x1y7D1Ev),
+ {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_E7x1;
+extern VTBL_ENTRY _ZTI4E7x1[];
+extern VTBL_ENTRY _ZTV4E7x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E7x1, 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
+ 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 _ZTI6G7x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x1__6G7x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x1__6G7x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x1__6G7x1y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x1y7[] = {
+ {&(_ZTV6G7x1y7[6]), 6,21},
+ {&(_ZTV6G7x1y7[11]), 11,21},
+ {&(_ZTV6G7x1y7[16]), 16,21},
+ {&(_ZTV6G7x1y7[20]), 20,21},
+ {&(_tg__ZTV4E7x1__6G7x1y7[4]), 4,5},
+ {&(_tg__ZTV2C7__4E7x1__6G7x1y7[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x1__6G7x1y7[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x1y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x1y7[];
+extern VTBL_ENTRY _ZTV6G7x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x1y7[];
+Class_Descriptor cd_G7x1y7 = { "G7x1y7", // class name
+ bases_G7x1y7, 6,
+ &(vtc_G7x1y7[0]), // expected_vtbl_contents
+ &(vtt_G7x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x1y7),9, //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 E8x1 : virtual C8 , D1 {
+ int fd;
+ ~E8x1(); // tgen
+ E8x1(); // tgen
+};
+//SIG(-1 E8x1) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E8x1 ::~E8x1(){ note_dtor("E8x1", this);} // tgen
+E8x1 ::E8x1(){ note_ctor("E8x1", this);} // tgen
+
+static void Test_E8x1()
+{
+ extern Class_Descriptor cd_E8x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x1, buf);
+ E8x1 *dp, &lv = *(dp=new (buf) E8x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x1)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "E8x1");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "E8x1");
+ check_base_class_offset(lv, (C8*), ABISELECT(16,12), "E8x1");
+ check_base_class_offset(lv, (D1*), 0, "E8x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E8x1.fd");
+ test_class_info(&lv, &cd_E8x1);
+ dp->~E8x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x1(Test_E8x1, "E8x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x1C1Ev();
+extern void _ZN4E8x1D1Ev();
+Name_Map name_map_E8x1[] = {
+ NSPAIR(_ZN4E8x1C1Ev),
+ NSPAIR(_ZN4E8x1D1Ev),
+ {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_E8x1[] = {
+ // 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(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, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E8x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+extern VTBL_ENTRY _ZTV4E8x1[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x1[] = {
+ {&(_ZTV4E8x1[4]), 4,8},
+ {&(_ZTV4E8x1[8]), 8,8},
+ {&(_tg__ZTV2C8__4E8x1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+Class_Descriptor cd_E8x1 = { "E8x1", // class name
+ bases_E8x1, 4,
+ &(vtc_E8x1[0]), // expected_vtbl_contents
+ &(vtt_E8x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x1),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 G8x1y0 : E8x1 , F1 {
+ int ff;
+ ~G8x1y0(); // tgen
+ G8x1y0(); // tgen
+};
+//SIG(1 G8x1y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x1y0 ::~G8x1y0(){ note_dtor("G8x1y0", this);} // tgen
+G8x1y0 ::G8x1y0(){ note_ctor("G8x1y0", this);} // tgen
+
+static void Test_G8x1y0()
+{
+ extern Class_Descriptor cd_G8x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x1y0, buf);
+ G8x1y0 *dp, &lv = *(dp=new (buf) G8x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y0)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x1y0");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x1y0");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(32,24), "G8x1y0");
+ check_base_class_offset(lv, (D1*)(E8x1*), 0, "G8x1y0");
+ check_base_class_offset(lv, (E8x1*), 0, "G8x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G8x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G8x1y0.ff");
+ test_class_info(&lv, &cd_G8x1y0);
+ dp->~G8x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y0(Test_G8x1y0, "G8x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y0C1Ev();
+extern void _ZN6G8x1y0D1Ev();
+Name_Map name_map_G8x1y0[] = {
+ NSPAIR(_ZN6G8x1y0C1Ev),
+ NSPAIR(_ZN6G8x1y0D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x1y0[] = {
+ // 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, 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(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E8x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x1y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y0[] = {
+ {&(_ZTV6G8x1y0[4]), 4,11},
+ {&(_tg__ZTV4E8x1__6G8x1y0[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y0[3]), 3,3},
+ {&(_ZTV6G8x1y0[11]), 11,11},
+ {&(_tg__ZTV2C8__6G8x1y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y0[];
+extern VTBL_ENTRY _ZTV6G8x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y0[];
+Class_Descriptor cd_G8x1y0 = { "G8x1y0", // class name
+ bases_G8x1y0, 6,
+ &(vtc_G8x1y0[0]), // expected_vtbl_contents
+ &(vtt_G8x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y0),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 G8x1y1 : virtual E8x1 , F1 {
+ int ff;
+ ~G8x1y1(); // tgen
+ G8x1y1(); // tgen
+};
+//SIG(1 G8x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x1y1 ::~G8x1y1(){ note_dtor("G8x1y1", this);} // tgen
+G8x1y1 ::G8x1y1(){ note_ctor("G8x1y1", this);} // tgen
+
+static void Test_G8x1y1()
+{
+ extern Class_Descriptor cd_G8x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x1y1, buf);
+ G8x1y1 *dp, &lv = *(dp=new (buf) G8x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y1)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x1y1");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x1y1");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(32,24), "G8x1y1");
+ check_base_class_offset(lv, (D1*)(E8x1*), ABISELECT(16,12), "G8x1y1");
+ check_base_class_offset(lv, (E8x1*), ABISELECT(16,12), "G8x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x1y1.ff");
+ test_class_info(&lv, &cd_G8x1y1);
+ dp->~G8x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y1(Test_G8x1y1, "G8x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y1C1Ev();
+extern void _ZN6G8x1y1D1Ev();
+Name_Map name_map_G8x1y1[] = {
+ NSPAIR(_ZN6G8x1y1C1Ev),
+ NSPAIR(_ZN6G8x1y1D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x1y1[] = {
+ // 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, 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(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x1, 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 _ZTI6G8x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x1y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y1[] = {
+ {&(_ZTV6G8x1y1[5]), 5,15},
+ {&(_ZTV6G8x1y1[11]), 11,15},
+ {&(_ZTV6G8x1y1[15]), 15,15},
+ {&(_tg__ZTV4E8x1__6G8x1y1[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y1[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x1y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y1[];
+extern VTBL_ENTRY _ZTV6G8x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y1[];
+Class_Descriptor cd_G8x1y1 = { "G8x1y1", // class name
+ bases_G8x1y1, 6,
+ &(vtc_G8x1y1[0]), // expected_vtbl_contents
+ &(vtt_G8x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y1),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 G8x1y2 : E8x1 , virtual F1 {
+ int ff;
+ ~G8x1y2(); // tgen
+ G8x1y2(); // tgen
+};
+//SIG(1 G8x1y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x1y2 ::~G8x1y2(){ note_dtor("G8x1y2", this);} // tgen
+G8x1y2 ::G8x1y2(){ note_ctor("G8x1y2", this);} // tgen
+
+static void Test_G8x1y2()
+{
+ extern Class_Descriptor cd_G8x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x1y2, buf);
+ G8x1y2 *dp, &lv = *(dp=new (buf) G8x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y2)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x1y2");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x1y2");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(24,16), "G8x1y2");
+ check_base_class_offset(lv, (D1*)(E8x1*), 0, "G8x1y2");
+ check_base_class_offset(lv, (E8x1*), 0, "G8x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G8x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x1y2.ff");
+ test_class_info(&lv, &cd_G8x1y2);
+ dp->~G8x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y2(Test_G8x1y2, "G8x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y2C1Ev();
+extern void _ZN6G8x1y2D1Ev();
+Name_Map name_map_G8x1y2[] = {
+ NSPAIR(_ZN6G8x1y2C1Ev),
+ NSPAIR(_ZN6G8x1y2D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x1y2[] = {
+ // 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, 0},
+ {&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_C8, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x1, 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)
+ 5, //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 _ZTI6G8x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x1y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y2[] = {
+ {&(_ZTV6G8x1y2[5]), 5,13},
+ {&(_tg__ZTV4E8x1__6G8x1y2[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y2[3]), 3,3},
+ {&(_ZTV6G8x1y2[9]), 9,13},
+ {&(_ZTV6G8x1y2[12]), 12,13},
+ {&(_tg__ZTV2C8__6G8x1y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y2[];
+extern VTBL_ENTRY _ZTV6G8x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y2[];
+Class_Descriptor cd_G8x1y2 = { "G8x1y2", // class name
+ bases_G8x1y2, 6,
+ &(vtc_G8x1y2[0]), // expected_vtbl_contents
+ &(vtt_G8x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y2),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 G8x1y3 : virtual E8x1 , virtual F1 {
+ int ff;
+ ~G8x1y3(); // tgen
+ G8x1y3(); // tgen
+};
+//SIG(1 G8x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x1y3 ::~G8x1y3(){ note_dtor("G8x1y3", this);} // tgen
+G8x1y3 ::G8x1y3(){ note_ctor("G8x1y3", this);} // tgen
+
+static void Test_G8x1y3()
+{
+ extern Class_Descriptor cd_G8x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x1y3, buf);
+ G8x1y3 *dp, &lv = *(dp=new (buf) G8x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y3)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x1y3");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x1y3");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(32,20), "G8x1y3");
+ check_base_class_offset(lv, (D1*)(E8x1*), ABISELECT(16,8), "G8x1y3");
+ check_base_class_offset(lv, (E8x1*), ABISELECT(16,8), "G8x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x1y3.ff");
+ test_class_info(&lv, &cd_G8x1y3);
+ dp->~G8x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y3(Test_G8x1y3, "G8x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y3C1Ev();
+extern void _ZN6G8x1y3D1Ev();
+Name_Map name_map_G8x1y3[] = {
+ NSPAIR(_ZN6G8x1y3C1Ev),
+ NSPAIR(_ZN6G8x1y3D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x1, 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 _ZTI6G8x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x1y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y3[] = {
+ {&(_ZTV6G8x1y3[6]), 6,19},
+ {&(_ZTV6G8x1y3[11]), 11,19},
+ {&(_ZTV6G8x1y3[15]), 15,19},
+ {&(_ZTV6G8x1y3[18]), 18,19},
+ {&(_tg__ZTV4E8x1__6G8x1y3[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y3[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x1y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y3[];
+extern VTBL_ENTRY _ZTV6G8x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y3[];
+Class_Descriptor cd_G8x1y3 = { "G8x1y3", // class name
+ bases_G8x1y3, 6,
+ &(vtc_G8x1y3[0]), // expected_vtbl_contents
+ &(vtt_G8x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y3),7, //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 G8x1y4 : E8x1 , F0 {
+ int ff;
+ ~G8x1y4(); // tgen
+ G8x1y4(); // tgen
+};
+//SIG(1 G8x1y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x1y4 ::~G8x1y4(){ note_dtor("G8x1y4", this);} // tgen
+G8x1y4 ::G8x1y4(){ note_ctor("G8x1y4", this);} // tgen
+
+static void Test_G8x1y4()
+{
+ extern Class_Descriptor cd_G8x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x1y4, buf);
+ G8x1y4 *dp, &lv = *(dp=new (buf) G8x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y4)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,24), "G8x1y4");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,32), "G8x1y4");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(24,20), "G8x1y4");
+ check_base_class_offset(lv, (D1*)(E8x1*), 0, "G8x1y4");
+ check_base_class_offset(lv, (E8x1*), 0, "G8x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G8x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x1y4.ff");
+ test_class_info(&lv, &cd_G8x1y4);
+ dp->~G8x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y4(Test_G8x1y4, "G8x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y4C1Ev();
+extern void _ZN6G8x1y4D1Ev();
+Name_Map name_map_G8x1y4[] = {
+ NSPAIR(_ZN6G8x1y4C1Ev),
+ NSPAIR(_ZN6G8x1y4D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x1y4[] = {
+ // 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, 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, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E8x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x1y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y4[] = {
+ {&(_ZTV6G8x1y4[4]), 4,8},
+ {&(_tg__ZTV4E8x1__6G8x1y4[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y4[3]), 3,3},
+ {&(_ZTV6G8x1y4[8]), 8,8},
+ {&(_tg__ZTV2C8__6G8x1y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y4[];
+extern VTBL_ENTRY _ZTV6G8x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y4[];
+Class_Descriptor cd_G8x1y4 = { "G8x1y4", // class name
+ bases_G8x1y4, 6,
+ &(vtc_G8x1y4[0]), // expected_vtbl_contents
+ &(vtt_G8x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y4),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 G8x1y5 : virtual E8x1 , F0 {
+ int ff;
+ ~G8x1y5(); // tgen
+ G8x1y5(); // tgen
+};
+//SIG(1 G8x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x1y5 ::~G8x1y5(){ note_dtor("G8x1y5", this);} // tgen
+G8x1y5 ::G8x1y5(){ note_ctor("G8x1y5", this);} // tgen
+
+static void Test_G8x1y5()
+{
+ extern Class_Descriptor cd_G8x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x1y5, buf);
+ G8x1y5 *dp, &lv = *(dp=new (buf) G8x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y5)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x1y5");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x1y5");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(32,24), "G8x1y5");
+ check_base_class_offset(lv, (D1*)(E8x1*), ABISELECT(16,12), "G8x1y5");
+ check_base_class_offset(lv, (E8x1*), ABISELECT(16,12), "G8x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x1y5.ff");
+ test_class_info(&lv, &cd_G8x1y5);
+ dp->~G8x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y5(Test_G8x1y5, "G8x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y5C1Ev();
+extern void _ZN6G8x1y5D1Ev();
+Name_Map name_map_G8x1y5[] = {
+ NSPAIR(_ZN6G8x1y5C1Ev),
+ NSPAIR(_ZN6G8x1y5D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x1y5[] = {
+ // 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, 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(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x1, 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 _ZTI6G8x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x1y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y5[] = {
+ {&(_ZTV6G8x1y5[5]), 5,14},
+ {&(_ZTV6G8x1y5[10]), 10,14},
+ {&(_ZTV6G8x1y5[14]), 14,14},
+ {&(_tg__ZTV4E8x1__6G8x1y5[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y5[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x1y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y5[];
+extern VTBL_ENTRY _ZTV6G8x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y5[];
+Class_Descriptor cd_G8x1y5 = { "G8x1y5", // class name
+ bases_G8x1y5, 6,
+ &(vtc_G8x1y5[0]), // expected_vtbl_contents
+ &(vtt_G8x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y5),6, //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 G8x1y6 : E8x1 , virtual F0 {
+ int ff;
+ ~G8x1y6(); // tgen
+ G8x1y6(); // tgen
+};
+//SIG(1 G8x1y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x1y6 ::~G8x1y6(){ note_dtor("G8x1y6", this);} // tgen
+G8x1y6 ::G8x1y6(){ note_ctor("G8x1y6", this);} // tgen
+
+static void Test_G8x1y6()
+{
+ extern Class_Descriptor cd_G8x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x1y6, buf);
+ G8x1y6 *dp, &lv = *(dp=new (buf) G8x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y6)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x1y6");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x1y6");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(24,16), "G8x1y6");
+ check_base_class_offset(lv, (D1*)(E8x1*), 0, "G8x1y6");
+ check_base_class_offset(lv, (E8x1*), 0, "G8x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G8x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x1y6.ff");
+ test_class_info(&lv, &cd_G8x1y6);
+ dp->~G8x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y6(Test_G8x1y6, "G8x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y6C1Ev();
+extern void _ZN6G8x1y6D1Ev();
+Name_Map name_map_G8x1y6[] = {
+ NSPAIR(_ZN6G8x1y6C1Ev),
+ NSPAIR(_ZN6G8x1y6D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x1y6[] = {
+ // 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, 0},
+ {&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_C8, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E8x1, 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 _ZTI6G8x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x1y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y6[] = {
+ {&(_ZTV6G8x1y6[5]), 5,9},
+ {&(_tg__ZTV4E8x1__6G8x1y6[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y6[3]), 3,3},
+ {&(_ZTV6G8x1y6[9]), 9,9},
+ {&(_tg__ZTV2C8__6G8x1y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y6[];
+extern VTBL_ENTRY _ZTV6G8x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y6[];
+Class_Descriptor cd_G8x1y6 = { "G8x1y6", // class name
+ bases_G8x1y6, 6,
+ &(vtc_G8x1y6[0]), // expected_vtbl_contents
+ &(vtt_G8x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y6),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 G8x1y7 : virtual E8x1 , virtual F0 {
+ int ff;
+ ~G8x1y7(); // tgen
+ G8x1y7(); // tgen
+};
+//SIG(1 G8x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x1y7 ::~G8x1y7(){ note_dtor("G8x1y7", this);} // tgen
+G8x1y7 ::G8x1y7(){ note_ctor("G8x1y7", this);} // tgen
+
+static void Test_G8x1y7()
+{
+ extern Class_Descriptor cd_G8x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x1y7, buf);
+ G8x1y7 *dp, &lv = *(dp=new (buf) G8x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x1y7)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x1y7");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x1y7");
+ check_base_class_offset(lv, (C8*)(E8x1*), ABISELECT(32,20), "G8x1y7");
+ check_base_class_offset(lv, (D1*)(E8x1*), ABISELECT(16,8), "G8x1y7");
+ check_base_class_offset(lv, (E8x1*), ABISELECT(16,8), "G8x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x1y7.ff");
+ test_class_info(&lv, &cd_G8x1y7);
+ dp->~G8x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x1y7(Test_G8x1y7, "G8x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x1y7C1Ev();
+extern void _ZN6G8x1y7D1Ev();
+Name_Map name_map_G8x1y7[] = {
+ NSPAIR(_ZN6G8x1y7C1Ev),
+ NSPAIR(_ZN6G8x1y7D1Ev),
+ {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_E8x1;
+extern VTBL_ENTRY _ZTI4E8x1[];
+extern VTBL_ENTRY _ZTV4E8x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E8x1, 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(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 _ZTI6G8x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x1y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E8x1__6G8x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x1__6G8x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x1y7[] = {
+ {&(_ZTV6G8x1y7[6]), 6,15},
+ {&(_ZTV6G8x1y7[11]), 11,15},
+ {&(_ZTV6G8x1y7[15]), 15,15},
+ {&(_tg__ZTV4E8x1__6G8x1y7[4]), 4,5},
+ {&(_tg__ZTV2C8__4E8x1__6G8x1y7[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x1y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x1y7[];
+extern VTBL_ENTRY _ZTV6G8x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x1y7[];
+Class_Descriptor cd_G8x1y7 = { "G8x1y7", // class name
+ bases_G8x1y7, 6,
+ &(vtc_G8x1y7[0]), // expected_vtbl_contents
+ &(vtt_G8x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x1y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x1y7),6, //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 E9x1 : virtual C9 , D1 {
+ int fd;
+ ~E9x1(); // tgen
+ E9x1(); // tgen
+};
+//SIG(-1 E9x1) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E9x1 ::~E9x1(){ note_dtor("E9x1", this);} // tgen
+E9x1 ::E9x1(){ note_ctor("E9x1", this);} // tgen
+
+static void Test_E9x1()
+{
+ extern Class_Descriptor cd_E9x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x1, buf);
+ E9x1 *dp, &lv = *(dp=new (buf) E9x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x1)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "E9x1");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "E9x1");
+ check_base_class_offset(lv, (C9*), ABISELECT(16,12), "E9x1");
+ check_base_class_offset(lv, (D1*), 0, "E9x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E9x1.fd");
+ test_class_info(&lv, &cd_E9x1);
+ dp->~E9x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x1(Test_E9x1, "E9x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x1C1Ev();
+extern void _ZN4E9x1D1Ev();
+Name_Map name_map_E9x1[] = {
+ NSPAIR(_ZN4E9x1C1Ev),
+ NSPAIR(_ZN4E9x1D1Ev),
+ {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_E9x1[] = {
+ // 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(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, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E9x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x1[] = {
+ {&(_ZTV4E9x1[4]), 4,10},
+ {&(_ZTV4E9x1[9]), 9,10},
+ {&(_tg__ZTV2C9__4E9x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+Class_Descriptor cd_E9x1 = { "E9x1", // class name
+ bases_E9x1, 4,
+ &(vtc_E9x1[0]), // expected_vtbl_contents
+ &(vtt_E9x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x1),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 G9x1y0 : E9x1 , F1 {
+ int ff;
+ ~G9x1y0(); // tgen
+ G9x1y0(); // tgen
+};
+//SIG(1 G9x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x1y0 ::~G9x1y0(){ note_dtor("G9x1y0", this);} // tgen
+G9x1y0 ::G9x1y0(){ note_ctor("G9x1y0", this);} // tgen
+
+static void Test_G9x1y0()
+{
+ extern Class_Descriptor cd_G9x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x1y0, buf);
+ G9x1y0 *dp, &lv = *(dp=new (buf) G9x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y0)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x1y0");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x1y0");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(32,24), "G9x1y0");
+ check_base_class_offset(lv, (D1*)(E9x1*), 0, "G9x1y0");
+ check_base_class_offset(lv, (E9x1*), 0, "G9x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G9x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G9x1y0.ff");
+ test_class_info(&lv, &cd_G9x1y0);
+ dp->~G9x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y0(Test_G9x1y0, "G9x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y0C1Ev();
+extern void _ZN6G9x1y0D1Ev();
+Name_Map name_map_G9x1y0[] = {
+ NSPAIR(_ZN6G9x1y0C1Ev),
+ NSPAIR(_ZN6G9x1y0D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y0[] = {
+ {&(_ZTV6G9x1y0[4]), 4,13},
+ {&(_tg__ZTV4E9x1__6G9x1y0[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y0[4]), 4,5},
+ {&(_ZTV6G9x1y0[12]), 12,13},
+ {&(_tg__ZTV2C9__6G9x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y0[];
+extern VTBL_ENTRY _ZTV6G9x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y0[];
+Class_Descriptor cd_G9x1y0 = { "G9x1y0", // class name
+ bases_G9x1y0, 6,
+ &(vtc_G9x1y0[0]), // expected_vtbl_contents
+ &(vtt_G9x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y0),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 G9x1y1 : virtual E9x1 , F1 {
+ int ff;
+ ~G9x1y1(); // tgen
+ G9x1y1(); // tgen
+};
+//SIG(1 G9x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x1y1 ::~G9x1y1(){ note_dtor("G9x1y1", this);} // tgen
+G9x1y1 ::G9x1y1(){ note_ctor("G9x1y1", this);} // tgen
+
+static void Test_G9x1y1()
+{
+ extern Class_Descriptor cd_G9x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x1y1, buf);
+ G9x1y1 *dp, &lv = *(dp=new (buf) G9x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y1)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x1y1");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x1y1");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(32,24), "G9x1y1");
+ check_base_class_offset(lv, (D1*)(E9x1*), ABISELECT(16,12), "G9x1y1");
+ check_base_class_offset(lv, (E9x1*), ABISELECT(16,12), "G9x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x1y1.ff");
+ test_class_info(&lv, &cd_G9x1y1);
+ dp->~G9x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y1(Test_G9x1y1, "G9x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y1C1Ev();
+extern void _ZN6G9x1y1D1Ev();
+Name_Map name_map_G9x1y1[] = {
+ NSPAIR(_ZN6G9x1y1C1Ev),
+ NSPAIR(_ZN6G9x1y1D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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
+ 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 _ZTI6G9x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y1[] = {
+ {&(_ZTV6G9x1y1[5]), 5,17},
+ {&(_ZTV6G9x1y1[11]), 11,17},
+ {&(_ZTV6G9x1y1[16]), 16,17},
+ {&(_tg__ZTV4E9x1__6G9x1y1[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y1[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y1[];
+extern VTBL_ENTRY _ZTV6G9x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y1[];
+Class_Descriptor cd_G9x1y1 = { "G9x1y1", // class name
+ bases_G9x1y1, 6,
+ &(vtc_G9x1y1[0]), // expected_vtbl_contents
+ &(vtt_G9x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y1),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 G9x1y2 : E9x1 , virtual F1 {
+ int ff;
+ ~G9x1y2(); // tgen
+ G9x1y2(); // tgen
+};
+//SIG(1 G9x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x1y2 ::~G9x1y2(){ note_dtor("G9x1y2", this);} // tgen
+G9x1y2 ::G9x1y2(){ note_ctor("G9x1y2", this);} // tgen
+
+static void Test_G9x1y2()
+{
+ extern Class_Descriptor cd_G9x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x1y2, buf);
+ G9x1y2 *dp, &lv = *(dp=new (buf) G9x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y2)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x1y2");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x1y2");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(24,16), "G9x1y2");
+ check_base_class_offset(lv, (D1*)(E9x1*), 0, "G9x1y2");
+ check_base_class_offset(lv, (E9x1*), 0, "G9x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G9x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x1y2.ff");
+ test_class_info(&lv, &cd_G9x1y2);
+ dp->~G9x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y2(Test_G9x1y2, "G9x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y2C1Ev();
+extern void _ZN6G9x1y2D1Ev();
+Name_Map name_map_G9x1y2[] = {
+ NSPAIR(_ZN6G9x1y2C1Ev),
+ NSPAIR(_ZN6G9x1y2D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C9, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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(48,32), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y2[] = {
+ {&(_ZTV6G9x1y2[5]), 5,15},
+ {&(_tg__ZTV4E9x1__6G9x1y2[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y2[4]), 4,5},
+ {&(_ZTV6G9x1y2[10]), 10,15},
+ {&(_ZTV6G9x1y2[14]), 14,15},
+ {&(_tg__ZTV2C9__6G9x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y2[];
+extern VTBL_ENTRY _ZTV6G9x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y2[];
+Class_Descriptor cd_G9x1y2 = { "G9x1y2", // class name
+ bases_G9x1y2, 6,
+ &(vtc_G9x1y2[0]), // expected_vtbl_contents
+ &(vtt_G9x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y2),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 G9x1y3 : virtual E9x1 , virtual F1 {
+ int ff;
+ ~G9x1y3(); // tgen
+ G9x1y3(); // tgen
+};
+//SIG(1 G9x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x1y3 ::~G9x1y3(){ note_dtor("G9x1y3", this);} // tgen
+G9x1y3 ::G9x1y3(){ note_ctor("G9x1y3", this);} // tgen
+
+static void Test_G9x1y3()
+{
+ extern Class_Descriptor cd_G9x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x1y3, buf);
+ G9x1y3 *dp, &lv = *(dp=new (buf) G9x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y3)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x1y3");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x1y3");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(32,20), "G9x1y3");
+ check_base_class_offset(lv, (D1*)(E9x1*), ABISELECT(16,8), "G9x1y3");
+ check_base_class_offset(lv, (E9x1*), ABISELECT(16,8), "G9x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x1y3.ff");
+ test_class_info(&lv, &cd_G9x1y3);
+ dp->~G9x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y3(Test_G9x1y3, "G9x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y3C1Ev();
+extern void _ZN6G9x1y3D1Ev();
+Name_Map name_map_G9x1y3[] = {
+ NSPAIR(_ZN6G9x1y3C1Ev),
+ NSPAIR(_ZN6G9x1y3D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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_F1, ABISELECT(56,36), //bcp->offset
+ 17, //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 _ZTI6G9x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y3[] = {
+ {&(_ZTV6G9x1y3[6]), 6,21},
+ {&(_ZTV6G9x1y3[11]), 11,21},
+ {&(_ZTV6G9x1y3[16]), 16,21},
+ {&(_ZTV6G9x1y3[20]), 20,21},
+ {&(_tg__ZTV4E9x1__6G9x1y3[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y3[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y3[];
+extern VTBL_ENTRY _ZTV6G9x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y3[];
+Class_Descriptor cd_G9x1y3 = { "G9x1y3", // class name
+ bases_G9x1y3, 6,
+ &(vtc_G9x1y3[0]), // expected_vtbl_contents
+ &(vtt_G9x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y3),7, //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 G9x1y4 : E9x1 , F0 {
+ int ff;
+ ~G9x1y4(); // tgen
+ G9x1y4(); // tgen
+};
+//SIG(1 G9x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x1y4 ::~G9x1y4(){ note_dtor("G9x1y4", this);} // tgen
+G9x1y4 ::G9x1y4(){ note_ctor("G9x1y4", this);} // tgen
+
+static void Test_G9x1y4()
+{
+ extern Class_Descriptor cd_G9x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x1y4, buf);
+ G9x1y4 *dp, &lv = *(dp=new (buf) G9x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y4)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,20), "G9x1y4");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,32), "G9x1y4");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(24,20), "G9x1y4");
+ check_base_class_offset(lv, (D1*)(E9x1*), 0, "G9x1y4");
+ check_base_class_offset(lv, (E9x1*), 0, "G9x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G9x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x1y4.ff");
+ test_class_info(&lv, &cd_G9x1y4);
+ dp->~G9x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y4(Test_G9x1y4, "G9x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y4C1Ev();
+extern void _ZN6G9x1y4D1Ev();
+Name_Map name_map_G9x1y4[] = {
+ NSPAIR(_ZN6G9x1y4C1Ev),
+ NSPAIR(_ZN6G9x1y4D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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(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, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y4[] = {
+ {&(_ZTV6G9x1y4[4]), 4,10},
+ {&(_tg__ZTV4E9x1__6G9x1y4[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y4[4]), 4,5},
+ {&(_ZTV6G9x1y4[9]), 9,10},
+ {&(_tg__ZTV2C9__6G9x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y4[];
+extern VTBL_ENTRY _ZTV6G9x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y4[];
+Class_Descriptor cd_G9x1y4 = { "G9x1y4", // class name
+ bases_G9x1y4, 6,
+ &(vtc_G9x1y4[0]), // expected_vtbl_contents
+ &(vtt_G9x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y4),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 G9x1y5 : virtual E9x1 , F0 {
+ int ff;
+ ~G9x1y5(); // tgen
+ G9x1y5(); // tgen
+};
+//SIG(1 G9x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x1y5 ::~G9x1y5(){ note_dtor("G9x1y5", this);} // tgen
+G9x1y5 ::G9x1y5(){ note_ctor("G9x1y5", this);} // tgen
+
+static void Test_G9x1y5()
+{
+ extern Class_Descriptor cd_G9x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x1y5, buf);
+ G9x1y5 *dp, &lv = *(dp=new (buf) G9x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y5)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x1y5");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x1y5");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(32,24), "G9x1y5");
+ check_base_class_offset(lv, (D1*)(E9x1*), ABISELECT(16,12), "G9x1y5");
+ check_base_class_offset(lv, (E9x1*), ABISELECT(16,12), "G9x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x1y5.ff");
+ test_class_info(&lv, &cd_G9x1y5);
+ dp->~G9x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y5(Test_G9x1y5, "G9x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y5C1Ev();
+extern void _ZN6G9x1y5D1Ev();
+Name_Map name_map_G9x1y5[] = {
+ NSPAIR(_ZN6G9x1y5C1Ev),
+ NSPAIR(_ZN6G9x1y5D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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
+ 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 _ZTI6G9x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y5[] = {
+ {&(_ZTV6G9x1y5[5]), 5,16},
+ {&(_ZTV6G9x1y5[10]), 10,16},
+ {&(_ZTV6G9x1y5[15]), 15,16},
+ {&(_tg__ZTV4E9x1__6G9x1y5[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y5[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y5[];
+extern VTBL_ENTRY _ZTV6G9x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y5[];
+Class_Descriptor cd_G9x1y5 = { "G9x1y5", // class name
+ bases_G9x1y5, 6,
+ &(vtc_G9x1y5[0]), // expected_vtbl_contents
+ &(vtt_G9x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y5),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 G9x1y6 : E9x1 , virtual F0 {
+ int ff;
+ ~G9x1y6(); // tgen
+ G9x1y6(); // tgen
+};
+//SIG(1 G9x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x1y6 ::~G9x1y6(){ note_dtor("G9x1y6", this);} // tgen
+G9x1y6 ::G9x1y6(){ note_ctor("G9x1y6", this);} // tgen
+
+static void Test_G9x1y6()
+{
+ extern Class_Descriptor cd_G9x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x1y6, buf);
+ G9x1y6 *dp, &lv = *(dp=new (buf) G9x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y6)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x1y6");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x1y6");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(24,16), "G9x1y6");
+ check_base_class_offset(lv, (D1*)(E9x1*), 0, "G9x1y6");
+ check_base_class_offset(lv, (E9x1*), 0, "G9x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G9x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x1y6.ff");
+ test_class_info(&lv, &cd_G9x1y6);
+ dp->~G9x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y6(Test_G9x1y6, "G9x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y6C1Ev();
+extern void _ZN6G9x1y6D1Ev();
+Name_Map name_map_G9x1y6[] = {
+ NSPAIR(_ZN6G9x1y6C1Ev),
+ NSPAIR(_ZN6G9x1y6D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C9, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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(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 _ZTI6G9x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y6[] = {
+ {&(_ZTV6G9x1y6[5]), 5,11},
+ {&(_tg__ZTV4E9x1__6G9x1y6[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y6[4]), 4,5},
+ {&(_ZTV6G9x1y6[10]), 10,11},
+ {&(_tg__ZTV2C9__6G9x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y6[];
+extern VTBL_ENTRY _ZTV6G9x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y6[];
+Class_Descriptor cd_G9x1y6 = { "G9x1y6", // class name
+ bases_G9x1y6, 6,
+ &(vtc_G9x1y6[0]), // expected_vtbl_contents
+ &(vtt_G9x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y6),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 G9x1y7 : virtual E9x1 , virtual F0 {
+ int ff;
+ ~G9x1y7(); // tgen
+ G9x1y7(); // tgen
+};
+//SIG(1 G9x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x1y7 ::~G9x1y7(){ note_dtor("G9x1y7", this);} // tgen
+G9x1y7 ::G9x1y7(){ note_ctor("G9x1y7", this);} // tgen
+
+static void Test_G9x1y7()
+{
+ extern Class_Descriptor cd_G9x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x1y7, buf);
+ G9x1y7 *dp, &lv = *(dp=new (buf) G9x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x1y7)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x1y7");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x1y7");
+ check_base_class_offset(lv, (C9*)(E9x1*), ABISELECT(32,20), "G9x1y7");
+ check_base_class_offset(lv, (D1*)(E9x1*), ABISELECT(16,8), "G9x1y7");
+ check_base_class_offset(lv, (E9x1*), ABISELECT(16,8), "G9x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x1y7.ff");
+ test_class_info(&lv, &cd_G9x1y7);
+ dp->~G9x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x1y7(Test_G9x1y7, "G9x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x1y7C1Ev();
+extern void _ZN6G9x1y7D1Ev();
+Name_Map name_map_G9x1y7[] = {
+ NSPAIR(_ZN6G9x1y7C1Ev),
+ NSPAIR(_ZN6G9x1y7D1Ev),
+ {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_E9x1;
+extern VTBL_ENTRY _ZTI4E9x1[];
+extern VTBL_ENTRY _ZTV4E9x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E9x1, 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
+ 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 _ZTI6G9x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x1__6G9x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x1__6G9x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x1y7[] = {
+ {&(_ZTV6G9x1y7[6]), 6,17},
+ {&(_ZTV6G9x1y7[11]), 11,17},
+ {&(_ZTV6G9x1y7[16]), 16,17},
+ {&(_tg__ZTV4E9x1__6G9x1y7[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x1__6G9x1y7[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x1y7[];
+extern VTBL_ENTRY _ZTV6G9x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x1y7[];
+Class_Descriptor cd_G9x1y7 = { "G9x1y7", // class name
+ bases_G9x1y7, 6,
+ &(vtc_G9x1y7[0]), // expected_vtbl_contents
+ &(vtt_G9x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x1y7),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 E10x1 : virtual C10 , D1 {
+ int fd;
+ ~E10x1(); // tgen
+ E10x1(); // tgen
+};
+//SIG(-1 E10x1) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} Fi} BC5{ v1 Fi} Fi}
+
+
+E10x1 ::~E10x1(){ note_dtor("E10x1", this);} // tgen
+E10x1 ::E10x1(){ note_ctor("E10x1", this);} // tgen
+
+static void Test_E10x1()
+{
+ extern Class_Descriptor cd_E10x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x1, buf);
+ E10x1 *dp, &lv = *(dp=new (buf) E10x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x1)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "E10x1");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "E10x1");
+ check_base_class_offset(lv, (C10*), ABISELECT(16,12), "E10x1");
+ check_base_class_offset(lv, (D1*), 0, "E10x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E10x1.fd");
+ test_class_info(&lv, &cd_E10x1);
+ dp->~E10x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x1(Test_E10x1, "E10x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x1C1Ev();
+extern void _ZN5E10x1D1Ev();
+Name_Map name_map_E10x1[] = {
+ NSPAIR(_ZN5E10x1C1Ev),
+ NSPAIR(_ZN5E10x1D1Ev),
+ {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_E10x1[] = {
+ // 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, 1},
+ {&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_C10, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E10x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+extern VTBL_ENTRY _ZTV5E10x1[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x1[] = {
+ {&(_ZTV5E10x1[5]), 5,10},
+ {&(_ZTV5E10x1[10]), 10,10},
+ {&(_tg__ZTV3C10__5E10x1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+Class_Descriptor cd_E10x1 = { "E10x1", // class name
+ bases_E10x1, 4,
+ &(vtc_E10x1[0]), // expected_vtbl_contents
+ &(vtt_E10x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x1),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x1),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 G10x1y0 : E10x1 , F1 {
+ int ff;
+ ~G10x1y0(); // tgen
+ G10x1y0(); // tgen
+};
+//SIG(1 G10x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x1y0 ::~G10x1y0(){ note_dtor("G10x1y0", this);} // tgen
+G10x1y0 ::G10x1y0(){ note_ctor("G10x1y0", this);} // tgen
+
+static void Test_G10x1y0()
+{
+ extern Class_Descriptor cd_G10x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x1y0, buf);
+ G10x1y0 *dp, &lv = *(dp=new (buf) G10x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y0)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x1y0");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x1y0");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(32,24), "G10x1y0");
+ check_base_class_offset(lv, (D1*)(E10x1*), 0, "G10x1y0");
+ check_base_class_offset(lv, (E10x1*), 0, "G10x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G10x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G10x1y0.ff");
+ test_class_info(&lv, &cd_G10x1y0);
+ dp->~G10x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y0(Test_G10x1y0, "G10x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y0C1Ev();
+extern void _ZN7G10x1y0D1Ev();
+Name_Map name_map_G10x1y0[] = {
+ NSPAIR(_ZN7G10x1y0C1Ev),
+ NSPAIR(_ZN7G10x1y0D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E10x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G10x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x1y0[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y0[] = {
+ {&(_ZTV7G10x1y0[5]), 5,13},
+ {&(_tg__ZTV5E10x1__7G10x1y0[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y0[4]), 4,4},
+ {&(_ZTV7G10x1y0[13]), 13,13},
+ {&(_tg__ZTV3C10__7G10x1y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y0[];
+extern VTBL_ENTRY _ZTV7G10x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y0[];
+Class_Descriptor cd_G10x1y0 = { "G10x1y0", // class name
+ bases_G10x1y0, 6,
+ &(vtc_G10x1y0[0]), // expected_vtbl_contents
+ &(vtt_G10x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y0),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 G10x1y1 : virtual E10x1 , F1 {
+ int ff;
+ ~G10x1y1(); // tgen
+ G10x1y1(); // tgen
+};
+//SIG(1 G10x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x1y1 ::~G10x1y1(){ note_dtor("G10x1y1", this);} // tgen
+G10x1y1 ::G10x1y1(){ note_ctor("G10x1y1", this);} // tgen
+
+static void Test_G10x1y1()
+{
+ extern Class_Descriptor cd_G10x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x1y1, buf);
+ G10x1y1 *dp, &lv = *(dp=new (buf) G10x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y1)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x1y1");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x1y1");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(32,24), "G10x1y1");
+ check_base_class_offset(lv, (D1*)(E10x1*), ABISELECT(16,12), "G10x1y1");
+ check_base_class_offset(lv, (E10x1*), ABISELECT(16,12), "G10x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x1y1.ff");
+ test_class_info(&lv, &cd_G10x1y1);
+ dp->~G10x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y1(Test_G10x1y1, "G10x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y1C1Ev();
+extern void _ZN7G10x1y1D1Ev();
+Name_Map name_map_G10x1y1[] = {
+ NSPAIR(_ZN7G10x1y1C1Ev),
+ NSPAIR(_ZN7G10x1y1D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G10x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x1y1[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y1[] = {
+ {&(_ZTV7G10x1y1[6]), 6,18},
+ {&(_ZTV7G10x1y1[13]), 13,18},
+ {&(_ZTV7G10x1y1[18]), 18,18},
+ {&(_tg__ZTV5E10x1__7G10x1y1[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y1[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x1y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y1[];
+extern VTBL_ENTRY _ZTV7G10x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y1[];
+Class_Descriptor cd_G10x1y1 = { "G10x1y1", // class name
+ bases_G10x1y1, 6,
+ &(vtc_G10x1y1[0]), // expected_vtbl_contents
+ &(vtt_G10x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y1),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y1),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 G10x1y2 : E10x1 , virtual F1 {
+ int ff;
+ ~G10x1y2(); // tgen
+ G10x1y2(); // tgen
+};
+//SIG(1 G10x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x1y2 ::~G10x1y2(){ note_dtor("G10x1y2", this);} // tgen
+G10x1y2 ::G10x1y2(){ note_ctor("G10x1y2", this);} // tgen
+
+static void Test_G10x1y2()
+{
+ extern Class_Descriptor cd_G10x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x1y2, buf);
+ G10x1y2 *dp, &lv = *(dp=new (buf) G10x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y2)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x1y2");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x1y2");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(24,16), "G10x1y2");
+ check_base_class_offset(lv, (D1*)(E10x1*), 0, "G10x1y2");
+ check_base_class_offset(lv, (E10x1*), 0, "G10x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x1y2.ff");
+ test_class_info(&lv, &cd_G10x1y2);
+ dp->~G10x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y2(Test_G10x1y2, "G10x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y2C1Ev();
+extern void _ZN7G10x1y2D1Ev();
+Name_Map name_map_G10x1y2[] = {
+ NSPAIR(_ZN7G10x1y2C1Ev),
+ NSPAIR(_ZN7G10x1y2D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x1y2[] = {
+ // 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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 11, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x1y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y2[] = {
+ {&(_ZTV7G10x1y2[6]), 6,15},
+ {&(_tg__ZTV5E10x1__7G10x1y2[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y2[4]), 4,4},
+ {&(_ZTV7G10x1y2[11]), 11,15},
+ {&(_ZTV7G10x1y2[14]), 14,15},
+ {&(_tg__ZTV3C10__7G10x1y2[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y2[];
+extern VTBL_ENTRY _ZTV7G10x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y2[];
+Class_Descriptor cd_G10x1y2 = { "G10x1y2", // class name
+ bases_G10x1y2, 6,
+ &(vtc_G10x1y2[0]), // expected_vtbl_contents
+ &(vtt_G10x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y2),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 G10x1y3 : virtual E10x1 , virtual F1 {
+ int ff;
+ ~G10x1y3(); // tgen
+ G10x1y3(); // tgen
+};
+//SIG(1 G10x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x1y3 ::~G10x1y3(){ note_dtor("G10x1y3", this);} // tgen
+G10x1y3 ::G10x1y3(){ note_ctor("G10x1y3", this);} // tgen
+
+static void Test_G10x1y3()
+{
+ extern Class_Descriptor cd_G10x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x1y3, buf);
+ G10x1y3 *dp, &lv = *(dp=new (buf) G10x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y3)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x1y3");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x1y3");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(32,20), "G10x1y3");
+ check_base_class_offset(lv, (D1*)(E10x1*), ABISELECT(16,8), "G10x1y3");
+ check_base_class_offset(lv, (E10x1*), ABISELECT(16,8), "G10x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x1y3.ff");
+ test_class_info(&lv, &cd_G10x1y3);
+ dp->~G10x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y3(Test_G10x1y3, "G10x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y3C1Ev();
+extern void _ZN7G10x1y3D1Ev();
+Name_Map name_map_G10x1y3[] = {
+ NSPAIR(_ZN7G10x1y3C1Ev),
+ NSPAIR(_ZN7G10x1y3D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 18, //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 _ZTI7G10x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x1y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y3[] = {
+ {&(_ZTV7G10x1y3[7]), 7,22},
+ {&(_ZTV7G10x1y3[13]), 13,22},
+ {&(_ZTV7G10x1y3[18]), 18,22},
+ {&(_ZTV7G10x1y3[21]), 21,22},
+ {&(_tg__ZTV5E10x1__7G10x1y3[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y3[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x1y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y3[];
+extern VTBL_ENTRY _ZTV7G10x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y3[];
+Class_Descriptor cd_G10x1y3 = { "G10x1y3", // class name
+ bases_G10x1y3, 6,
+ &(vtc_G10x1y3[0]), // expected_vtbl_contents
+ &(vtt_G10x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y3),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y3),7, //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 G10x1y4 : E10x1 , F0 {
+ int ff;
+ ~G10x1y4(); // tgen
+ G10x1y4(); // tgen
+};
+//SIG(1 G10x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x1y4 ::~G10x1y4(){ note_dtor("G10x1y4", this);} // tgen
+G10x1y4 ::G10x1y4(){ note_ctor("G10x1y4", this);} // tgen
+
+static void Test_G10x1y4()
+{
+ extern Class_Descriptor cd_G10x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x1y4, buf);
+ G10x1y4 *dp, &lv = *(dp=new (buf) G10x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y4)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,28), "G10x1y4");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,32), "G10x1y4");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(24,20), "G10x1y4");
+ check_base_class_offset(lv, (D1*)(E10x1*), 0, "G10x1y4");
+ check_base_class_offset(lv, (E10x1*), 0, "G10x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G10x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x1y4.ff");
+ test_class_info(&lv, &cd_G10x1y4);
+ dp->~G10x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y4(Test_G10x1y4, "G10x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y4C1Ev();
+extern void _ZN7G10x1y4D1Ev();
+Name_Map name_map_G10x1y4[] = {
+ NSPAIR(_ZN7G10x1y4C1Ev),
+ NSPAIR(_ZN7G10x1y4D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x1y4[] = {
+ // 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(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_C10, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E10x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x1y4[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y4[] = {
+ {&(_ZTV7G10x1y4[5]), 5,10},
+ {&(_tg__ZTV5E10x1__7G10x1y4[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y4[4]), 4,4},
+ {&(_ZTV7G10x1y4[10]), 10,10},
+ {&(_tg__ZTV3C10__7G10x1y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y4[];
+extern VTBL_ENTRY _ZTV7G10x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y4[];
+Class_Descriptor cd_G10x1y4 = { "G10x1y4", // class name
+ bases_G10x1y4, 6,
+ &(vtc_G10x1y4[0]), // expected_vtbl_contents
+ &(vtt_G10x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y4),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 G10x1y5 : virtual E10x1 , F0 {
+ int ff;
+ ~G10x1y5(); // tgen
+ G10x1y5(); // tgen
+};
+//SIG(1 G10x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x1y5 ::~G10x1y5(){ note_dtor("G10x1y5", this);} // tgen
+G10x1y5 ::G10x1y5(){ note_ctor("G10x1y5", this);} // tgen
+
+static void Test_G10x1y5()
+{
+ extern Class_Descriptor cd_G10x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x1y5, buf);
+ G10x1y5 *dp, &lv = *(dp=new (buf) G10x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y5)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x1y5");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x1y5");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(32,24), "G10x1y5");
+ check_base_class_offset(lv, (D1*)(E10x1*), ABISELECT(16,12), "G10x1y5");
+ check_base_class_offset(lv, (E10x1*), ABISELECT(16,12), "G10x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x1y5.ff");
+ test_class_info(&lv, &cd_G10x1y5);
+ dp->~G10x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y5(Test_G10x1y5, "G10x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y5C1Ev();
+extern void _ZN7G10x1y5D1Ev();
+Name_Map name_map_G10x1y5[] = {
+ NSPAIR(_ZN7G10x1y5C1Ev),
+ NSPAIR(_ZN7G10x1y5D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G10x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x1y5[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y5[] = {
+ {&(_ZTV7G10x1y5[6]), 6,17},
+ {&(_ZTV7G10x1y5[12]), 12,17},
+ {&(_ZTV7G10x1y5[17]), 17,17},
+ {&(_tg__ZTV5E10x1__7G10x1y5[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y5[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x1y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y5[];
+extern VTBL_ENTRY _ZTV7G10x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y5[];
+Class_Descriptor cd_G10x1y5 = { "G10x1y5", // class name
+ bases_G10x1y5, 6,
+ &(vtc_G10x1y5[0]), // expected_vtbl_contents
+ &(vtt_G10x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y5),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y5),6, //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 G10x1y6 : E10x1 , virtual F0 {
+ int ff;
+ ~G10x1y6(); // tgen
+ G10x1y6(); // tgen
+};
+//SIG(1 G10x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x1y6 ::~G10x1y6(){ note_dtor("G10x1y6", this);} // tgen
+G10x1y6 ::G10x1y6(){ note_ctor("G10x1y6", this);} // tgen
+
+static void Test_G10x1y6()
+{
+ extern Class_Descriptor cd_G10x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x1y6, buf);
+ G10x1y6 *dp, &lv = *(dp=new (buf) G10x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y6)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x1y6");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x1y6");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(24,16), "G10x1y6");
+ check_base_class_offset(lv, (D1*)(E10x1*), 0, "G10x1y6");
+ check_base_class_offset(lv, (E10x1*), 0, "G10x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x1y6.ff");
+ test_class_info(&lv, &cd_G10x1y6);
+ dp->~G10x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y6(Test_G10x1y6, "G10x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y6C1Ev();
+extern void _ZN7G10x1y6D1Ev();
+Name_Map name_map_G10x1y6[] = {
+ NSPAIR(_ZN7G10x1y6C1Ev),
+ NSPAIR(_ZN7G10x1y6D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x1y6[] = {
+ // 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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E10x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G10x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x1y6[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y6[] = {
+ {&(_ZTV7G10x1y6[6]), 6,11},
+ {&(_tg__ZTV5E10x1__7G10x1y6[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y6[4]), 4,4},
+ {&(_ZTV7G10x1y6[11]), 11,11},
+ {&(_tg__ZTV3C10__7G10x1y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y6[];
+extern VTBL_ENTRY _ZTV7G10x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y6[];
+Class_Descriptor cd_G10x1y6 = { "G10x1y6", // class name
+ bases_G10x1y6, 6,
+ &(vtc_G10x1y6[0]), // expected_vtbl_contents
+ &(vtt_G10x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y6),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 G10x1y7 : virtual E10x1 , virtual F0 {
+ int ff;
+ ~G10x1y7(); // tgen
+ G10x1y7(); // tgen
+};
+//SIG(1 G10x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x1y7 ::~G10x1y7(){ note_dtor("G10x1y7", this);} // tgen
+G10x1y7 ::G10x1y7(){ note_ctor("G10x1y7", this);} // tgen
+
+static void Test_G10x1y7()
+{
+ extern Class_Descriptor cd_G10x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x1y7, buf);
+ G10x1y7 *dp, &lv = *(dp=new (buf) G10x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x1y7)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x1y7");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x1y7");
+ check_base_class_offset(lv, (C10*)(E10x1*), ABISELECT(32,20), "G10x1y7");
+ check_base_class_offset(lv, (D1*)(E10x1*), ABISELECT(16,8), "G10x1y7");
+ check_base_class_offset(lv, (E10x1*), ABISELECT(16,8), "G10x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G10x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x1y7.ff");
+ test_class_info(&lv, &cd_G10x1y7);
+ dp->~G10x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x1y7(Test_G10x1y7, "G10x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x1y7C1Ev();
+extern void _ZN7G10x1y7D1Ev();
+Name_Map name_map_G10x1y7[] = {
+ NSPAIR(_ZN7G10x1y7C1Ev),
+ NSPAIR(_ZN7G10x1y7D1Ev),
+ {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_E10x1;
+extern VTBL_ENTRY _ZTI5E10x1[];
+extern VTBL_ENTRY _ZTV5E10x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E10x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G10x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x1y7[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E10x1__7G10x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x1__7G10x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x1[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x1y7[] = {
+ {&(_ZTV7G10x1y7[7]), 7,18},
+ {&(_ZTV7G10x1y7[13]), 13,18},
+ {&(_ZTV7G10x1y7[18]), 18,18},
+ {&(_tg__ZTV5E10x1__7G10x1y7[5]), 5,6},
+ {&(_tg__ZTV3C10__5E10x1__7G10x1y7[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x1y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x1y7[];
+extern VTBL_ENTRY _ZTV7G10x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x1y7[];
+Class_Descriptor cd_G10x1y7 = { "G10x1y7", // class name
+ bases_G10x1y7, 6,
+ &(vtc_G10x1y7[0]), // expected_vtbl_contents
+ &(vtt_G10x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x1y7),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x1y7),6, //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 E11x1 : virtual C11 , D1 {
+ int fd;
+ ~E11x1(); // tgen
+ E11x1(); // tgen
+};
+//SIG(-1 E11x1) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E11x1 ::~E11x1(){ note_dtor("E11x1", this);} // tgen
+E11x1 ::E11x1(){ note_ctor("E11x1", this);} // tgen
+
+static void Test_E11x1()
+{
+ extern Class_Descriptor cd_E11x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E11x1, buf);
+ E11x1 *dp, &lv = *(dp=new (buf) E11x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E11x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x1)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "E11x1");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "E11x1");
+ check_base_class_offset(lv, (C11*), ABISELECT(16,12), "E11x1");
+ check_base_class_offset(lv, (D1*), 0, "E11x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E11x1.fd");
+ test_class_info(&lv, &cd_E11x1);
+ dp->~E11x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x1(Test_E11x1, "E11x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x1C1Ev();
+extern void _ZN5E11x1D1Ev();
+Name_Map name_map_E11x1[] = {
+ NSPAIR(_ZN5E11x1C1Ev),
+ NSPAIR(_ZN5E11x1D1Ev),
+ {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_E11x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //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(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, ABISELECT(16,12), //bcp->offset
+ 6, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x1[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x1[] = {
+ {&(_ZTV5E11x1[5]), 5,14},
+ {&(_ZTV5E11x1[10]), 10,14},
+ {&(_ZTV5E11x1[13]), 13,14},
+ {&(_tg__ZTV3C11__5E11x1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+Class_Descriptor cd_E11x1 = { "E11x1", // class name
+ bases_E11x1, 4,
+ &(vtc_E11x1[0]), // expected_vtbl_contents
+ &(vtt_E11x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E11x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x1),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 G11x1y0 : E11x1 , F1 {
+ int ff;
+ ~G11x1y0(); // tgen
+ G11x1y0(); // tgen
+};
+//SIG(1 G11x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x1y0 ::~G11x1y0(){ note_dtor("G11x1y0", this);} // tgen
+G11x1y0 ::G11x1y0(){ note_ctor("G11x1y0", this);} // tgen
+
+static void Test_G11x1y0()
+{
+ extern Class_Descriptor cd_G11x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x1y0, buf);
+ G11x1y0 *dp, &lv = *(dp=new (buf) G11x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y0)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x1y0");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x1y0");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(32,24), "G11x1y0");
+ check_base_class_offset(lv, (D1*)(E11x1*), 0, "G11x1y0");
+ check_base_class_offset(lv, (E11x1*), 0, "G11x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G11x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G11x1y0.ff");
+ test_class_info(&lv, &cd_G11x1y0);
+ dp->~G11x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y0(Test_G11x1y0, "G11x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y0C1Ev();
+extern void _ZN7G11x1y0D1Ev();
+Name_Map name_map_G11x1y0[] = {
+ NSPAIR(_ZN7G11x1y0C1Ev),
+ NSPAIR(_ZN7G11x1y0D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x1y0[] = {
+ // 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)
+ 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, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G11x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x1y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y0[] = {
+ {&(_ZTV7G11x1y0[5]), 5,17},
+ {&(_tg__ZTV5E11x1__7G11x1y0[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y0[3]), 3,4},
+ {&(_ZTV7G11x1y0[13]), 13,17},
+ {&(_ZTV7G11x1y0[16]), 16,17},
+ {&(_tg__ZTV3C11__7G11x1y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y0[];
+extern VTBL_ENTRY _ZTV7G11x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y0[];
+Class_Descriptor cd_G11x1y0 = { "G11x1y0", // class name
+ bases_G11x1y0, 6,
+ &(vtc_G11x1y0[0]), // expected_vtbl_contents
+ &(vtt_G11x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y0),8, //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 G11x1y1 : virtual E11x1 , F1 {
+ int ff;
+ ~G11x1y1(); // tgen
+ G11x1y1(); // tgen
+};
+//SIG(1 G11x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x1y1 ::~G11x1y1(){ note_dtor("G11x1y1", this);} // tgen
+G11x1y1 ::G11x1y1(){ note_ctor("G11x1y1", this);} // tgen
+
+static void Test_G11x1y1()
+{
+ extern Class_Descriptor cd_G11x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x1y1, buf);
+ G11x1y1 *dp, &lv = *(dp=new (buf) G11x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y1)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x1y1");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x1y1");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(32,24), "G11x1y1");
+ check_base_class_offset(lv, (D1*)(E11x1*), ABISELECT(16,12), "G11x1y1");
+ check_base_class_offset(lv, (E11x1*), ABISELECT(16,12), "G11x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x1y1.ff");
+ test_class_info(&lv, &cd_G11x1y1);
+ dp->~G11x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y1(Test_G11x1y1, "G11x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y1C1Ev();
+extern void _ZN7G11x1y1D1Ev();
+Name_Map name_map_G11x1y1[] = {
+ NSPAIR(_ZN7G11x1y1C1Ev),
+ NSPAIR(_ZN7G11x1y1D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 18, //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(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(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G11x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x1y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y1[] = {
+ {&(_ZTV7G11x1y1[6]), 6,22},
+ {&(_ZTV7G11x1y1[13]), 13,22},
+ {&(_ZTV7G11x1y1[18]), 18,22},
+ {&(_ZTV7G11x1y1[21]), 21,22},
+ {&(_tg__ZTV5E11x1__7G11x1y1[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y1[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x1y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y1[];
+extern VTBL_ENTRY _ZTV7G11x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y1[];
+Class_Descriptor cd_G11x1y1 = { "G11x1y1", // class name
+ bases_G11x1y1, 6,
+ &(vtc_G11x1y1[0]), // expected_vtbl_contents
+ &(vtt_G11x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y1),9, //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 G11x1y2 : E11x1 , virtual F1 {
+ int ff;
+ ~G11x1y2(); // tgen
+ G11x1y2(); // tgen
+};
+//SIG(1 G11x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x1y2 ::~G11x1y2(){ note_dtor("G11x1y2", this);} // tgen
+G11x1y2 ::G11x1y2(){ note_ctor("G11x1y2", this);} // tgen
+
+static void Test_G11x1y2()
+{
+ extern Class_Descriptor cd_G11x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x1y2, buf);
+ G11x1y2 *dp, &lv = *(dp=new (buf) G11x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y2)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x1y2");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x1y2");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(24,16), "G11x1y2");
+ check_base_class_offset(lv, (D1*)(E11x1*), 0, "G11x1y2");
+ check_base_class_offset(lv, (E11x1*), 0, "G11x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x1y2.ff");
+ test_class_info(&lv, &cd_G11x1y2);
+ dp->~G11x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y2(Test_G11x1y2, "G11x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y2C1Ev();
+extern void _ZN7G11x1y2D1Ev();
+Name_Map name_map_G11x1y2[] = {
+ NSPAIR(_ZN7G11x1y2C1Ev),
+ NSPAIR(_ZN7G11x1y2D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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(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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x1y2[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y2[] = {
+ {&(_ZTV7G11x1y2[6]), 6,19},
+ {&(_tg__ZTV5E11x1__7G11x1y2[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y2[3]), 3,4},
+ {&(_ZTV7G11x1y2[11]), 11,19},
+ {&(_ZTV7G11x1y2[14]), 14,19},
+ {&(_ZTV7G11x1y2[18]), 18,19},
+ {&(_tg__ZTV3C11__7G11x1y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y2[];
+extern VTBL_ENTRY _ZTV7G11x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y2[];
+Class_Descriptor cd_G11x1y2 = { "G11x1y2", // class name
+ bases_G11x1y2, 6,
+ &(vtc_G11x1y2[0]), // expected_vtbl_contents
+ &(vtt_G11x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y2),9, //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 G11x1y3 : virtual E11x1 , virtual F1 {
+ int ff;
+ ~G11x1y3(); // tgen
+ G11x1y3(); // tgen
+};
+//SIG(1 G11x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x1y3 ::~G11x1y3(){ note_dtor("G11x1y3", this);} // tgen
+G11x1y3 ::G11x1y3(){ note_ctor("G11x1y3", this);} // tgen
+
+static void Test_G11x1y3()
+{
+ extern Class_Descriptor cd_G11x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x1y3, buf);
+ G11x1y3 *dp, &lv = *(dp=new (buf) G11x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y3)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x1y3");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x1y3");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(32,20), "G11x1y3");
+ check_base_class_offset(lv, (D1*)(E11x1*), ABISELECT(16,8), "G11x1y3");
+ check_base_class_offset(lv, (E11x1*), ABISELECT(16,8), "G11x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x1y3.ff");
+ test_class_info(&lv, &cd_G11x1y3);
+ dp->~G11x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y3(Test_G11x1y3, "G11x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y3C1Ev();
+extern void _ZN7G11x1y3D1Ev();
+Name_Map name_map_G11x1y3[] = {
+ NSPAIR(_ZN7G11x1y3C1Ev),
+ NSPAIR(_ZN7G11x1y3D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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(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(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 22, //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 _ZTI7G11x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y3[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x1y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y3[] = {
+ {&(_ZTV7G11x1y3[7]), 7,26},
+ {&(_ZTV7G11x1y3[13]), 13,26},
+ {&(_ZTV7G11x1y3[18]), 18,26},
+ {&(_ZTV7G11x1y3[21]), 21,26},
+ {&(_ZTV7G11x1y3[25]), 25,26},
+ {&(_tg__ZTV5E11x1__7G11x1y3[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y3[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x1y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y3[];
+extern VTBL_ENTRY _ZTV7G11x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y3[];
+Class_Descriptor cd_G11x1y3 = { "G11x1y3", // class name
+ bases_G11x1y3, 6,
+ &(vtc_G11x1y3[0]), // expected_vtbl_contents
+ &(vtt_G11x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y3),10, //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 G11x1y4 : E11x1 , F0 {
+ int ff;
+ ~G11x1y4(); // tgen
+ G11x1y4(); // tgen
+};
+//SIG(1 G11x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x1y4 ::~G11x1y4(){ note_dtor("G11x1y4", this);} // tgen
+G11x1y4 ::G11x1y4(){ note_ctor("G11x1y4", this);} // tgen
+
+static void Test_G11x1y4()
+{
+ extern Class_Descriptor cd_G11x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x1y4, buf);
+ G11x1y4 *dp, &lv = *(dp=new (buf) G11x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y4)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,28), "G11x1y4");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,36), "G11x1y4");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(24,20), "G11x1y4");
+ check_base_class_offset(lv, (D1*)(E11x1*), 0, "G11x1y4");
+ check_base_class_offset(lv, (E11x1*), 0, "G11x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G11x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x1y4.ff");
+ test_class_info(&lv, &cd_G11x1y4);
+ dp->~G11x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y4(Test_G11x1y4, "G11x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y4C1Ev();
+extern void _ZN7G11x1y4D1Ev();
+Name_Map name_map_G11x1y4[] = {
+ NSPAIR(_ZN7G11x1y4C1Ev),
+ NSPAIR(_ZN7G11x1y4D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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(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, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x1y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y4[] = {
+ {&(_ZTV7G11x1y4[5]), 5,14},
+ {&(_tg__ZTV5E11x1__7G11x1y4[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y4[3]), 3,4},
+ {&(_ZTV7G11x1y4[10]), 10,14},
+ {&(_ZTV7G11x1y4[13]), 13,14},
+ {&(_tg__ZTV3C11__7G11x1y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y4[];
+extern VTBL_ENTRY _ZTV7G11x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y4[];
+Class_Descriptor cd_G11x1y4 = { "G11x1y4", // class name
+ bases_G11x1y4, 6,
+ &(vtc_G11x1y4[0]), // expected_vtbl_contents
+ &(vtt_G11x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y4),8, //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 G11x1y5 : virtual E11x1 , F0 {
+ int ff;
+ ~G11x1y5(); // tgen
+ G11x1y5(); // tgen
+};
+//SIG(1 G11x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x1y5 ::~G11x1y5(){ note_dtor("G11x1y5", this);} // tgen
+G11x1y5 ::G11x1y5(){ note_ctor("G11x1y5", this);} // tgen
+
+static void Test_G11x1y5()
+{
+ extern Class_Descriptor cd_G11x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x1y5, buf);
+ G11x1y5 *dp, &lv = *(dp=new (buf) G11x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y5)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x1y5");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x1y5");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(32,24), "G11x1y5");
+ check_base_class_offset(lv, (D1*)(E11x1*), ABISELECT(16,12), "G11x1y5");
+ check_base_class_offset(lv, (E11x1*), ABISELECT(16,12), "G11x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x1y5.ff");
+ test_class_info(&lv, &cd_G11x1y5);
+ dp->~G11x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y5(Test_G11x1y5, "G11x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y5C1Ev();
+extern void _ZN7G11x1y5D1Ev();
+Name_Map name_map_G11x1y5[] = {
+ NSPAIR(_ZN7G11x1y5C1Ev),
+ NSPAIR(_ZN7G11x1y5D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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(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(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G11x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y5[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x1y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y5[] = {
+ {&(_ZTV7G11x1y5[6]), 6,21},
+ {&(_ZTV7G11x1y5[12]), 12,21},
+ {&(_ZTV7G11x1y5[17]), 17,21},
+ {&(_ZTV7G11x1y5[20]), 20,21},
+ {&(_tg__ZTV5E11x1__7G11x1y5[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y5[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x1y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y5[];
+extern VTBL_ENTRY _ZTV7G11x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y5[];
+Class_Descriptor cd_G11x1y5 = { "G11x1y5", // class name
+ bases_G11x1y5, 6,
+ &(vtc_G11x1y5[0]), // expected_vtbl_contents
+ &(vtt_G11x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y5),9, //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 G11x1y6 : E11x1 , virtual F0 {
+ int ff;
+ ~G11x1y6(); // tgen
+ G11x1y6(); // tgen
+};
+//SIG(1 G11x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x1y6 ::~G11x1y6(){ note_dtor("G11x1y6", this);} // tgen
+G11x1y6 ::G11x1y6(){ note_ctor("G11x1y6", this);} // tgen
+
+static void Test_G11x1y6()
+{
+ extern Class_Descriptor cd_G11x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x1y6, buf);
+ G11x1y6 *dp, &lv = *(dp=new (buf) G11x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y6)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x1y6");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x1y6");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(24,16), "G11x1y6");
+ check_base_class_offset(lv, (D1*)(E11x1*), 0, "G11x1y6");
+ check_base_class_offset(lv, (E11x1*), 0, "G11x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G11x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x1y6.ff");
+ test_class_info(&lv, &cd_G11x1y6);
+ dp->~G11x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y6(Test_G11x1y6, "G11x1y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y6C1Ev();
+extern void _ZN7G11x1y6D1Ev();
+Name_Map name_map_G11x1y6[] = {
+ NSPAIR(_ZN7G11x1y6C1Ev),
+ NSPAIR(_ZN7G11x1y6D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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(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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G11x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x1y6[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y6[] = {
+ {&(_ZTV7G11x1y6[6]), 6,15},
+ {&(_tg__ZTV5E11x1__7G11x1y6[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y6[3]), 3,4},
+ {&(_ZTV7G11x1y6[11]), 11,15},
+ {&(_ZTV7G11x1y6[14]), 14,15},
+ {&(_tg__ZTV3C11__7G11x1y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y6[];
+extern VTBL_ENTRY _ZTV7G11x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y6[];
+Class_Descriptor cd_G11x1y6 = { "G11x1y6", // class name
+ bases_G11x1y6, 6,
+ &(vtc_G11x1y6[0]), // expected_vtbl_contents
+ &(vtt_G11x1y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y6),8, //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 G11x1y7 : virtual E11x1 , virtual F0 {
+ int ff;
+ ~G11x1y7(); // tgen
+ G11x1y7(); // tgen
+};
+//SIG(1 G11x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x1y7 ::~G11x1y7(){ note_dtor("G11x1y7", this);} // tgen
+G11x1y7 ::G11x1y7(){ note_ctor("G11x1y7", this);} // tgen
+
+static void Test_G11x1y7()
+{
+ extern Class_Descriptor cd_G11x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x1y7, buf);
+ G11x1y7 *dp, &lv = *(dp=new (buf) G11x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x1y7)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x1y7");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x1y7");
+ check_base_class_offset(lv, (C11*)(E11x1*), ABISELECT(32,20), "G11x1y7");
+ check_base_class_offset(lv, (D1*)(E11x1*), ABISELECT(16,8), "G11x1y7");
+ check_base_class_offset(lv, (E11x1*), ABISELECT(16,8), "G11x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G11x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x1y7.ff");
+ test_class_info(&lv, &cd_G11x1y7);
+ dp->~G11x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x1y7(Test_G11x1y7, "G11x1y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x1y7C1Ev();
+extern void _ZN7G11x1y7D1Ev();
+Name_Map name_map_G11x1y7[] = {
+ NSPAIR(_ZN7G11x1y7C1Ev),
+ NSPAIR(_ZN7G11x1y7D1Ev),
+ {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_E11x1;
+extern VTBL_ENTRY _ZTI5E11x1[];
+extern VTBL_ENTRY _ZTV5E11x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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(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(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E11x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G11x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x1y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x1y7[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x1y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E11x1__7G11x1y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x1__7G11x1y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x1__7G11x1y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x1y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x1y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x1y7[] = {
+ {&(_ZTV7G11x1y7[7]), 7,22},
+ {&(_ZTV7G11x1y7[13]), 13,22},
+ {&(_ZTV7G11x1y7[18]), 18,22},
+ {&(_ZTV7G11x1y7[21]), 21,22},
+ {&(_tg__ZTV5E11x1__7G11x1y7[5]), 5,6},
+ {&(_tg__ZTV3C11__5E11x1__7G11x1y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x1__7G11x1y7[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x1y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x1y7[];
+extern VTBL_ENTRY _ZTV7G11x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x1y7[];
+Class_Descriptor cd_G11x1y7 = { "G11x1y7", // class name
+ bases_G11x1y7, 6,
+ &(vtc_G11x1y7[0]), // expected_vtbl_contents
+ &(vtt_G11x1y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x1y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x1y7),9, //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 E12x1 : virtual C12 , D1 {
+ int fd;
+ ~E12x1(); // tgen
+ E12x1(); // tgen
+};
+//SIG(-1 E12x1) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E12x1 ::~E12x1(){ note_dtor("E12x1", this);} // tgen
+E12x1 ::E12x1(){ note_ctor("E12x1", this);} // tgen
+
+static void Test_E12x1()
+{
+ extern Class_Descriptor cd_E12x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E12x1, buf);
+ E12x1 *dp, &lv = *(dp=new (buf) E12x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E12x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x1)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "E12x1");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "E12x1");
+ check_base_class_offset(lv, (C12*), ABISELECT(16,12), "E12x1");
+ check_base_class_offset(lv, (D1*), 0, "E12x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E12x1.fd");
+ test_class_info(&lv, &cd_E12x1);
+ dp->~E12x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x1(Test_E12x1, "E12x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x1C1Ev();
+extern void _ZN5E12x1D1Ev();
+Name_Map name_map_E12x1[] = {
+ NSPAIR(_ZN5E12x1C1Ev),
+ NSPAIR(_ZN5E12x1D1Ev),
+ {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_E12x1[] = {
+ // 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(32,24), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x1[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x1[] = {
+ {&(_ZTV5E12x1[4]), 4,12},
+ {&(_ZTV5E12x1[8]), 8,12},
+ {&(_ZTV5E12x1[11]), 11,12},
+ {&(_tg__ZTV3C12__5E12x1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+Class_Descriptor cd_E12x1 = { "E12x1", // class name
+ bases_E12x1, 4,
+ &(vtc_E12x1[0]), // expected_vtbl_contents
+ &(vtt_E12x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E12x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x1),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 G12x1y0 : E12x1 , F1 {
+ int ff;
+ ~G12x1y0(); // tgen
+ G12x1y0(); // tgen
+};
+//SIG(1 G12x1y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x1y0 ::~G12x1y0(){ note_dtor("G12x1y0", this);} // tgen
+G12x1y0 ::G12x1y0(){ note_ctor("G12x1y0", this);} // tgen
+
+static void Test_G12x1y0()
+{
+ extern Class_Descriptor cd_G12x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x1y0, buf);
+ G12x1y0 *dp, &lv = *(dp=new (buf) G12x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y0)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x1y0");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x1y0");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(32,24), "G12x1y0");
+ check_base_class_offset(lv, (D1*)(E12x1*), 0, "G12x1y0");
+ check_base_class_offset(lv, (E12x1*), 0, "G12x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G12x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G12x1y0.ff");
+ test_class_info(&lv, &cd_G12x1y0);
+ dp->~G12x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y0(Test_G12x1y0, "G12x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y0C1Ev();
+extern void _ZN7G12x1y0D1Ev();
+Name_Map name_map_G12x1y0[] = {
+ NSPAIR(_ZN7G12x1y0C1Ev),
+ NSPAIR(_ZN7G12x1y0D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x1y0[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,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_C12, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x1y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y0[] = {
+ {&(_ZTV7G12x1y0[4]), 4,15},
+ {&(_tg__ZTV5E12x1__7G12x1y0[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y0[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y0[3]), 3,4},
+ {&(_ZTV7G12x1y0[11]), 11,15},
+ {&(_ZTV7G12x1y0[14]), 14,15},
+ {&(_tg__ZTV3C12__7G12x1y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y0[];
+extern VTBL_ENTRY _ZTV7G12x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y0[];
+Class_Descriptor cd_G12x1y0 = { "G12x1y0", // class name
+ bases_G12x1y0, 6,
+ &(vtc_G12x1y0[0]), // expected_vtbl_contents
+ &(vtt_G12x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y0),8, //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 G12x1y1 : virtual E12x1 , F1 {
+ int ff;
+ ~G12x1y1(); // tgen
+ G12x1y1(); // tgen
+};
+//SIG(1 G12x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x1y1 ::~G12x1y1(){ note_dtor("G12x1y1", this);} // tgen
+G12x1y1 ::G12x1y1(){ note_ctor("G12x1y1", this);} // tgen
+
+static void Test_G12x1y1()
+{
+ extern Class_Descriptor cd_G12x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x1y1, buf);
+ G12x1y1 *dp, &lv = *(dp=new (buf) G12x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y1)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x1y1");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x1y1");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(32,24), "G12x1y1");
+ check_base_class_offset(lv, (D1*)(E12x1*), ABISELECT(16,12), "G12x1y1");
+ check_base_class_offset(lv, (E12x1*), ABISELECT(16,12), "G12x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x1y1.ff");
+ test_class_info(&lv, &cd_G12x1y1);
+ dp->~G12x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y1(Test_G12x1y1, "G12x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y1C1Ev();
+extern void _ZN7G12x1y1D1Ev();
+Name_Map name_map_G12x1y1[] = {
+ NSPAIR(_ZN7G12x1y1C1Ev),
+ NSPAIR(_ZN7G12x1y1D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x1y1[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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 _ZTI7G12x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x1y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y1[] = {
+ {&(_ZTV7G12x1y1[5]), 5,19},
+ {&(_ZTV7G12x1y1[11]), 11,19},
+ {&(_ZTV7G12x1y1[15]), 15,19},
+ {&(_ZTV7G12x1y1[18]), 18,19},
+ {&(_tg__ZTV5E12x1__7G12x1y1[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y1[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y1[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x1y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y1[];
+extern VTBL_ENTRY _ZTV7G12x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y1[];
+Class_Descriptor cd_G12x1y1 = { "G12x1y1", // class name
+ bases_G12x1y1, 6,
+ &(vtc_G12x1y1[0]), // expected_vtbl_contents
+ &(vtt_G12x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y1),9, //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 G12x1y2 : E12x1 , virtual F1 {
+ int ff;
+ ~G12x1y2(); // tgen
+ G12x1y2(); // tgen
+};
+//SIG(1 G12x1y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x1y2 ::~G12x1y2(){ note_dtor("G12x1y2", this);} // tgen
+G12x1y2 ::G12x1y2(){ note_ctor("G12x1y2", this);} // tgen
+
+static void Test_G12x1y2()
+{
+ extern Class_Descriptor cd_G12x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x1y2, buf);
+ G12x1y2 *dp, &lv = *(dp=new (buf) G12x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y2)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x1y2");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x1y2");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(24,16), "G12x1y2");
+ check_base_class_offset(lv, (D1*)(E12x1*), 0, "G12x1y2");
+ check_base_class_offset(lv, (E12x1*), 0, "G12x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x1y2.ff");
+ test_class_info(&lv, &cd_G12x1y2);
+ dp->~G12x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y2(Test_G12x1y2, "G12x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y2C1Ev();
+extern void _ZN7G12x1y2D1Ev();
+Name_Map name_map_G12x1y2[] = {
+ NSPAIR(_ZN7G12x1y2C1Ev),
+ NSPAIR(_ZN7G12x1y2D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x1y2[] = {
+ // 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, 0},
+ {&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_C12, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x1y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y2[] = {
+ {&(_ZTV7G12x1y2[5]), 5,17},
+ {&(_tg__ZTV5E12x1__7G12x1y2[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y2[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y2[3]), 3,4},
+ {&(_ZTV7G12x1y2[9]), 9,17},
+ {&(_ZTV7G12x1y2[12]), 12,17},
+ {&(_ZTV7G12x1y2[16]), 16,17},
+ {&(_tg__ZTV3C12__7G12x1y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y2[];
+extern VTBL_ENTRY _ZTV7G12x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y2[];
+Class_Descriptor cd_G12x1y2 = { "G12x1y2", // class name
+ bases_G12x1y2, 6,
+ &(vtc_G12x1y2[0]), // expected_vtbl_contents
+ &(vtt_G12x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y2),9, //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 G12x1y3 : virtual E12x1 , virtual F1 {
+ int ff;
+ ~G12x1y3(); // tgen
+ G12x1y3(); // tgen
+};
+//SIG(1 G12x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x1y3 ::~G12x1y3(){ note_dtor("G12x1y3", this);} // tgen
+G12x1y3 ::G12x1y3(){ note_ctor("G12x1y3", this);} // tgen
+
+static void Test_G12x1y3()
+{
+ extern Class_Descriptor cd_G12x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x1y3, buf);
+ G12x1y3 *dp, &lv = *(dp=new (buf) G12x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y3)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x1y3");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x1y3");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(32,20), "G12x1y3");
+ check_base_class_offset(lv, (D1*)(E12x1*), ABISELECT(16,8), "G12x1y3");
+ check_base_class_offset(lv, (E12x1*), ABISELECT(16,8), "G12x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x1y3.ff");
+ test_class_info(&lv, &cd_G12x1y3);
+ dp->~G12x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y3(Test_G12x1y3, "G12x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y3C1Ev();
+extern void _ZN7G12x1y3D1Ev();
+Name_Map name_map_G12x1y3[] = {
+ NSPAIR(_ZN7G12x1y3C1Ev),
+ NSPAIR(_ZN7G12x1y3D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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 _ZTI7G12x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x1y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y3[] = {
+ {&(_ZTV7G12x1y3[6]), 6,23},
+ {&(_ZTV7G12x1y3[11]), 11,23},
+ {&(_ZTV7G12x1y3[15]), 15,23},
+ {&(_ZTV7G12x1y3[18]), 18,23},
+ {&(_ZTV7G12x1y3[22]), 22,23},
+ {&(_tg__ZTV5E12x1__7G12x1y3[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y3[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y3[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x1y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y3[];
+extern VTBL_ENTRY _ZTV7G12x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y3[];
+Class_Descriptor cd_G12x1y3 = { "G12x1y3", // class name
+ bases_G12x1y3, 6,
+ &(vtc_G12x1y3[0]), // expected_vtbl_contents
+ &(vtt_G12x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y3),10, //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 G12x1y4 : E12x1 , F0 {
+ int ff;
+ ~G12x1y4(); // tgen
+ G12x1y4(); // tgen
+};
+//SIG(1 G12x1y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x1y4 ::~G12x1y4(){ note_dtor("G12x1y4", this);} // tgen
+G12x1y4 ::G12x1y4(){ note_ctor("G12x1y4", this);} // tgen
+
+static void Test_G12x1y4()
+{
+ extern Class_Descriptor cd_G12x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x1y4, buf);
+ G12x1y4 *dp, &lv = *(dp=new (buf) G12x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y4)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,24), "G12x1y4");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,32), "G12x1y4");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(24,20), "G12x1y4");
+ check_base_class_offset(lv, (D1*)(E12x1*), 0, "G12x1y4");
+ check_base_class_offset(lv, (E12x1*), 0, "G12x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G12x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x1y4.ff");
+ test_class_info(&lv, &cd_G12x1y4);
+ dp->~G12x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y4(Test_G12x1y4, "G12x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y4C1Ev();
+extern void _ZN7G12x1y4D1Ev();
+Name_Map name_map_G12x1y4[] = {
+ NSPAIR(_ZN7G12x1y4C1Ev),
+ NSPAIR(_ZN7G12x1y4D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x1y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,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_C12, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x1y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y4[] = {
+ {&(_ZTV7G12x1y4[4]), 4,12},
+ {&(_tg__ZTV5E12x1__7G12x1y4[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y4[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y4[3]), 3,4},
+ {&(_ZTV7G12x1y4[8]), 8,12},
+ {&(_ZTV7G12x1y4[11]), 11,12},
+ {&(_tg__ZTV3C12__7G12x1y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y4[];
+extern VTBL_ENTRY _ZTV7G12x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y4[];
+Class_Descriptor cd_G12x1y4 = { "G12x1y4", // class name
+ bases_G12x1y4, 6,
+ &(vtc_G12x1y4[0]), // expected_vtbl_contents
+ &(vtt_G12x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y4),8, //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 G12x1y5 : virtual E12x1 , F0 {
+ int ff;
+ ~G12x1y5(); // tgen
+ G12x1y5(); // tgen
+};
+//SIG(1 G12x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x1y5 ::~G12x1y5(){ note_dtor("G12x1y5", this);} // tgen
+G12x1y5 ::G12x1y5(){ note_ctor("G12x1y5", this);} // tgen
+
+static void Test_G12x1y5()
+{
+ extern Class_Descriptor cd_G12x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x1y5, buf);
+ G12x1y5 *dp, &lv = *(dp=new (buf) G12x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y5)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x1y5");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x1y5");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(32,24), "G12x1y5");
+ check_base_class_offset(lv, (D1*)(E12x1*), ABISELECT(16,12), "G12x1y5");
+ check_base_class_offset(lv, (E12x1*), ABISELECT(16,12), "G12x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x1y5.ff");
+ test_class_info(&lv, &cd_G12x1y5);
+ dp->~G12x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y5(Test_G12x1y5, "G12x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y5C1Ev();
+extern void _ZN7G12x1y5D1Ev();
+Name_Map name_map_G12x1y5[] = {
+ NSPAIR(_ZN7G12x1y5C1Ev),
+ NSPAIR(_ZN7G12x1y5D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x1y5[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 14, //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, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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 _ZTI7G12x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x1y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y5[] = {
+ {&(_ZTV7G12x1y5[5]), 5,18},
+ {&(_ZTV7G12x1y5[10]), 10,18},
+ {&(_ZTV7G12x1y5[14]), 14,18},
+ {&(_ZTV7G12x1y5[17]), 17,18},
+ {&(_tg__ZTV5E12x1__7G12x1y5[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y5[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y5[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x1y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y5[];
+extern VTBL_ENTRY _ZTV7G12x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y5[];
+Class_Descriptor cd_G12x1y5 = { "G12x1y5", // class name
+ bases_G12x1y5, 6,
+ &(vtc_G12x1y5[0]), // expected_vtbl_contents
+ &(vtt_G12x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y5),9, //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 G12x1y6 : E12x1 , virtual F0 {
+ int ff;
+ ~G12x1y6(); // tgen
+ G12x1y6(); // tgen
+};
+//SIG(1 G12x1y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x1y6 ::~G12x1y6(){ note_dtor("G12x1y6", this);} // tgen
+G12x1y6 ::G12x1y6(){ note_ctor("G12x1y6", this);} // tgen
+
+static void Test_G12x1y6()
+{
+ extern Class_Descriptor cd_G12x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x1y6, buf);
+ G12x1y6 *dp, &lv = *(dp=new (buf) G12x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y6)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x1y6");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x1y6");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(24,16), "G12x1y6");
+ check_base_class_offset(lv, (D1*)(E12x1*), 0, "G12x1y6");
+ check_base_class_offset(lv, (E12x1*), 0, "G12x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x1y6.ff");
+ test_class_info(&lv, &cd_G12x1y6);
+ dp->~G12x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y6(Test_G12x1y6, "G12x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y6C1Ev();
+extern void _ZN7G12x1y6D1Ev();
+Name_Map name_map_G12x1y6[] = {
+ NSPAIR(_ZN7G12x1y6C1Ev),
+ NSPAIR(_ZN7G12x1y6D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x1y6[] = {
+ // 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, 0},
+ {&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_C12, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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 _ZTI7G12x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x1y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y6[] = {
+ {&(_ZTV7G12x1y6[5]), 5,13},
+ {&(_tg__ZTV5E12x1__7G12x1y6[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y6[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y6[3]), 3,4},
+ {&(_ZTV7G12x1y6[9]), 9,13},
+ {&(_ZTV7G12x1y6[12]), 12,13},
+ {&(_tg__ZTV3C12__7G12x1y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y6[];
+extern VTBL_ENTRY _ZTV7G12x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y6[];
+Class_Descriptor cd_G12x1y6 = { "G12x1y6", // class name
+ bases_G12x1y6, 6,
+ &(vtc_G12x1y6[0]), // expected_vtbl_contents
+ &(vtt_G12x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y6),8, //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 G12x1y7 : virtual E12x1 , virtual F0 {
+ int ff;
+ ~G12x1y7(); // tgen
+ G12x1y7(); // tgen
+};
+//SIG(1 G12x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x1y7 ::~G12x1y7(){ note_dtor("G12x1y7", this);} // tgen
+G12x1y7 ::G12x1y7(){ note_ctor("G12x1y7", this);} // tgen
+
+static void Test_G12x1y7()
+{
+ extern Class_Descriptor cd_G12x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x1y7, buf);
+ G12x1y7 *dp, &lv = *(dp=new (buf) G12x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x1y7)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x1y7");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x1y7");
+ check_base_class_offset(lv, (C12*)(E12x1*), ABISELECT(32,20), "G12x1y7");
+ check_base_class_offset(lv, (D1*)(E12x1*), ABISELECT(16,8), "G12x1y7");
+ check_base_class_offset(lv, (E12x1*), ABISELECT(16,8), "G12x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G12x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x1y7.ff");
+ test_class_info(&lv, &cd_G12x1y7);
+ dp->~G12x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x1y7(Test_G12x1y7, "G12x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x1y7C1Ev();
+extern void _ZN7G12x1y7D1Ev();
+Name_Map name_map_G12x1y7[] = {
+ NSPAIR(_ZN7G12x1y7C1Ev),
+ NSPAIR(_ZN7G12x1y7D1Ev),
+ {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_E12x1;
+extern VTBL_ENTRY _ZTI5E12x1[];
+extern VTBL_ENTRY _ZTV5E12x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E12x1, 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(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 _ZTI7G12x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x1y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E12x1__7G12x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x1__7G12x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x1__7G12x1y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x1y7[] = {
+ {&(_ZTV7G12x1y7[6]), 6,19},
+ {&(_ZTV7G12x1y7[11]), 11,19},
+ {&(_ZTV7G12x1y7[15]), 15,19},
+ {&(_ZTV7G12x1y7[18]), 18,19},
+ {&(_tg__ZTV5E12x1__7G12x1y7[4]), 4,5},
+ {&(_tg__ZTV3C12__5E12x1__7G12x1y7[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x1__7G12x1y7[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x1y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x1y7[];
+extern VTBL_ENTRY _ZTV7G12x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x1y7[];
+Class_Descriptor cd_G12x1y7 = { "G12x1y7", // class name
+ bases_G12x1y7, 6,
+ &(vtc_G12x1y7[0]), // expected_vtbl_contents
+ &(vtt_G12x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x1y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x1y7),9, //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 E13x1 : virtual C13 , D1 {
+ int fd;
+ ~E13x1(); // tgen
+ E13x1(); // tgen
+};
+//SIG(-1 E13x1) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E13x1 ::~E13x1(){ note_dtor("E13x1", this);} // tgen
+E13x1 ::E13x1(){ note_ctor("E13x1", this);} // tgen
+
+static void Test_E13x1()
+{
+ extern Class_Descriptor cd_E13x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E13x1, buf);
+ E13x1 *dp, &lv = *(dp=new (buf) E13x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E13x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x1)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "E13x1");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "E13x1");
+ check_base_class_offset(lv, (C13*), ABISELECT(16,12), "E13x1");
+ check_base_class_offset(lv, (D1*), 0, "E13x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E13x1.fd");
+ test_class_info(&lv, &cd_E13x1);
+ dp->~E13x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x1(Test_E13x1, "E13x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x1C1Ev();
+extern void _ZN5E13x1D1Ev();
+Name_Map name_map_E13x1[] = {
+ NSPAIR(_ZN5E13x1C1Ev),
+ NSPAIR(_ZN5E13x1D1Ev),
+ {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_E13x1[] = {
+ // 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(32,24), //bcp->offset
+ 10, //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
+ 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x1[] = {
+ {&(_ZTV5E13x1[4]), 4,14},
+ {&(_ZTV5E13x1[9]), 9,14},
+ {&(_ZTV5E13x1[13]), 13,14},
+ {&(_tg__ZTV3C13__5E13x1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+Class_Descriptor cd_E13x1 = { "E13x1", // class name
+ bases_E13x1, 4,
+ &(vtc_E13x1[0]), // expected_vtbl_contents
+ &(vtt_E13x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E13x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x1),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 G13x1y0 : E13x1 , F1 {
+ int ff;
+ ~G13x1y0(); // tgen
+ G13x1y0(); // tgen
+};
+//SIG(1 G13x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x1y0 ::~G13x1y0(){ note_dtor("G13x1y0", this);} // tgen
+G13x1y0 ::G13x1y0(){ note_ctor("G13x1y0", this);} // tgen
+
+static void Test_G13x1y0()
+{
+ extern Class_Descriptor cd_G13x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x1y0, buf);
+ G13x1y0 *dp, &lv = *(dp=new (buf) G13x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y0)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x1y0");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x1y0");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(32,24), "G13x1y0");
+ check_base_class_offset(lv, (D1*)(E13x1*), 0, "G13x1y0");
+ check_base_class_offset(lv, (E13x1*), 0, "G13x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G13x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G13x1y0.ff");
+ test_class_info(&lv, &cd_G13x1y0);
+ dp->~G13x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y0(Test_G13x1y0, "G13x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y0C1Ev();
+extern void _ZN7G13x1y0D1Ev();
+Name_Map name_map_G13x1y0[] = {
+ NSPAIR(_ZN7G13x1y0C1Ev),
+ NSPAIR(_ZN7G13x1y0D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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)
+ 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, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y0[] = {
+ {&(_ZTV7G13x1y0[4]), 4,17},
+ {&(_tg__ZTV5E13x1__7G13x1y0[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y0[3]), 3,4},
+ {&(_ZTV7G13x1y0[12]), 12,17},
+ {&(_ZTV7G13x1y0[16]), 16,17},
+ {&(_tg__ZTV3C13__7G13x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y0[];
+extern VTBL_ENTRY _ZTV7G13x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y0[];
+Class_Descriptor cd_G13x1y0 = { "G13x1y0", // class name
+ bases_G13x1y0, 6,
+ &(vtc_G13x1y0[0]), // expected_vtbl_contents
+ &(vtt_G13x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y0),8, //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 G13x1y1 : virtual E13x1 , F1 {
+ int ff;
+ ~G13x1y1(); // tgen
+ G13x1y1(); // tgen
+};
+//SIG(1 G13x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x1y1 ::~G13x1y1(){ note_dtor("G13x1y1", this);} // tgen
+G13x1y1 ::G13x1y1(){ note_ctor("G13x1y1", this);} // tgen
+
+static void Test_G13x1y1()
+{
+ extern Class_Descriptor cd_G13x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x1y1, buf);
+ G13x1y1 *dp, &lv = *(dp=new (buf) G13x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y1)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x1y1");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x1y1");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(32,24), "G13x1y1");
+ check_base_class_offset(lv, (D1*)(E13x1*), ABISELECT(16,12), "G13x1y1");
+ check_base_class_offset(lv, (E13x1*), ABISELECT(16,12), "G13x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x1y1.ff");
+ test_class_info(&lv, &cd_G13x1y1);
+ dp->~G13x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y1(Test_G13x1y1, "G13x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y1C1Ev();
+extern void _ZN7G13x1y1D1Ev();
+Name_Map name_map_G13x1y1[] = {
+ NSPAIR(_ZN7G13x1y1C1Ev),
+ NSPAIR(_ZN7G13x1y1D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 17, //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, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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
+ 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 _ZTI7G13x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y1[] = {
+ {&(_ZTV7G13x1y1[5]), 5,21},
+ {&(_ZTV7G13x1y1[11]), 11,21},
+ {&(_ZTV7G13x1y1[16]), 16,21},
+ {&(_ZTV7G13x1y1[20]), 20,21},
+ {&(_tg__ZTV5E13x1__7G13x1y1[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y1[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y1[];
+extern VTBL_ENTRY _ZTV7G13x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y1[];
+Class_Descriptor cd_G13x1y1 = { "G13x1y1", // class name
+ bases_G13x1y1, 6,
+ &(vtc_G13x1y1[0]), // expected_vtbl_contents
+ &(vtt_G13x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y1),9, //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 G13x1y2 : E13x1 , virtual F1 {
+ int ff;
+ ~G13x1y2(); // tgen
+ G13x1y2(); // tgen
+};
+//SIG(1 G13x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x1y2 ::~G13x1y2(){ note_dtor("G13x1y2", this);} // tgen
+G13x1y2 ::G13x1y2(){ note_ctor("G13x1y2", this);} // tgen
+
+static void Test_G13x1y2()
+{
+ extern Class_Descriptor cd_G13x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x1y2, buf);
+ G13x1y2 *dp, &lv = *(dp=new (buf) G13x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y2)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x1y2");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x1y2");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(24,16), "G13x1y2");
+ check_base_class_offset(lv, (D1*)(E13x1*), 0, "G13x1y2");
+ check_base_class_offset(lv, (E13x1*), 0, "G13x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x1y2.ff");
+ test_class_info(&lv, &cd_G13x1y2);
+ dp->~G13x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y2(Test_G13x1y2, "G13x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y2C1Ev();
+extern void _ZN7G13x1y2D1Ev();
+Name_Map name_map_G13x1y2[] = {
+ NSPAIR(_ZN7G13x1y2C1Ev),
+ NSPAIR(_ZN7G13x1y2D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C13, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y2[] = {
+ {&(_ZTV7G13x1y2[5]), 5,19},
+ {&(_tg__ZTV5E13x1__7G13x1y2[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y2[3]), 3,4},
+ {&(_ZTV7G13x1y2[10]), 10,19},
+ {&(_ZTV7G13x1y2[14]), 14,19},
+ {&(_ZTV7G13x1y2[18]), 18,19},
+ {&(_tg__ZTV3C13__7G13x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y2[];
+extern VTBL_ENTRY _ZTV7G13x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y2[];
+Class_Descriptor cd_G13x1y2 = { "G13x1y2", // class name
+ bases_G13x1y2, 6,
+ &(vtc_G13x1y2[0]), // expected_vtbl_contents
+ &(vtt_G13x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y2),9, //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 G13x1y3 : virtual E13x1 , virtual F1 {
+ int ff;
+ ~G13x1y3(); // tgen
+ G13x1y3(); // tgen
+};
+//SIG(1 G13x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x1y3 ::~G13x1y3(){ note_dtor("G13x1y3", this);} // tgen
+G13x1y3 ::G13x1y3(){ note_ctor("G13x1y3", this);} // tgen
+
+static void Test_G13x1y3()
+{
+ extern Class_Descriptor cd_G13x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x1y3, buf);
+ G13x1y3 *dp, &lv = *(dp=new (buf) G13x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y3)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x1y3");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x1y3");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(32,20), "G13x1y3");
+ check_base_class_offset(lv, (D1*)(E13x1*), ABISELECT(16,8), "G13x1y3");
+ check_base_class_offset(lv, (E13x1*), ABISELECT(16,8), "G13x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x1y3.ff");
+ test_class_info(&lv, &cd_G13x1y3);
+ dp->~G13x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y3(Test_G13x1y3, "G13x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y3C1Ev();
+extern void _ZN7G13x1y3D1Ev();
+Name_Map name_map_G13x1y3[] = {
+ NSPAIR(_ZN7G13x1y3C1Ev),
+ NSPAIR(_ZN7G13x1y3D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 21, //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 _ZTI7G13x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y3[] = {
+ {&(_ZTV7G13x1y3[6]), 6,25},
+ {&(_ZTV7G13x1y3[11]), 11,25},
+ {&(_ZTV7G13x1y3[16]), 16,25},
+ {&(_ZTV7G13x1y3[20]), 20,25},
+ {&(_ZTV7G13x1y3[24]), 24,25},
+ {&(_tg__ZTV5E13x1__7G13x1y3[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y3[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y3[];
+extern VTBL_ENTRY _ZTV7G13x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y3[];
+Class_Descriptor cd_G13x1y3 = { "G13x1y3", // class name
+ bases_G13x1y3, 6,
+ &(vtc_G13x1y3[0]), // expected_vtbl_contents
+ &(vtt_G13x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y3),10, //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 G13x1y4 : E13x1 , F0 {
+ int ff;
+ ~G13x1y4(); // tgen
+ G13x1y4(); // tgen
+};
+//SIG(1 G13x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x1y4 ::~G13x1y4(){ note_dtor("G13x1y4", this);} // tgen
+G13x1y4 ::G13x1y4(){ note_ctor("G13x1y4", this);} // tgen
+
+static void Test_G13x1y4()
+{
+ extern Class_Descriptor cd_G13x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x1y4, buf);
+ G13x1y4 *dp, &lv = *(dp=new (buf) G13x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y4)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,20), "G13x1y4");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,32), "G13x1y4");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(24,20), "G13x1y4");
+ check_base_class_offset(lv, (D1*)(E13x1*), 0, "G13x1y4");
+ check_base_class_offset(lv, (E13x1*), 0, "G13x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G13x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x1y4.ff");
+ test_class_info(&lv, &cd_G13x1y4);
+ dp->~G13x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y4(Test_G13x1y4, "G13x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y4C1Ev();
+extern void _ZN7G13x1y4D1Ev();
+Name_Map name_map_G13x1y4[] = {
+ NSPAIR(_ZN7G13x1y4C1Ev),
+ NSPAIR(_ZN7G13x1y4D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,32), //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, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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_F0, 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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y4[] = {
+ {&(_ZTV7G13x1y4[4]), 4,14},
+ {&(_tg__ZTV5E13x1__7G13x1y4[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y4[3]), 3,4},
+ {&(_ZTV7G13x1y4[9]), 9,14},
+ {&(_ZTV7G13x1y4[13]), 13,14},
+ {&(_tg__ZTV3C13__7G13x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y4[];
+extern VTBL_ENTRY _ZTV7G13x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y4[];
+Class_Descriptor cd_G13x1y4 = { "G13x1y4", // class name
+ bases_G13x1y4, 6,
+ &(vtc_G13x1y4[0]), // expected_vtbl_contents
+ &(vtt_G13x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y4),8, //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 G13x1y5 : virtual E13x1 , F0 {
+ int ff;
+ ~G13x1y5(); // tgen
+ G13x1y5(); // tgen
+};
+//SIG(1 G13x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x1y5 ::~G13x1y5(){ note_dtor("G13x1y5", this);} // tgen
+G13x1y5 ::G13x1y5(){ note_ctor("G13x1y5", this);} // tgen
+
+static void Test_G13x1y5()
+{
+ extern Class_Descriptor cd_G13x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x1y5, buf);
+ G13x1y5 *dp, &lv = *(dp=new (buf) G13x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y5)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x1y5");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x1y5");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(32,24), "G13x1y5");
+ check_base_class_offset(lv, (D1*)(E13x1*), ABISELECT(16,12), "G13x1y5");
+ check_base_class_offset(lv, (E13x1*), ABISELECT(16,12), "G13x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x1y5.ff");
+ test_class_info(&lv, &cd_G13x1y5);
+ dp->~G13x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y5(Test_G13x1y5, "G13x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y5C1Ev();
+extern void _ZN7G13x1y5D1Ev();
+Name_Map name_map_G13x1y5[] = {
+ NSPAIR(_ZN7G13x1y5C1Ev),
+ NSPAIR(_ZN7G13x1y5D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 16, //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, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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
+ 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 _ZTI7G13x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y5[] = {
+ {&(_ZTV7G13x1y5[5]), 5,20},
+ {&(_ZTV7G13x1y5[10]), 10,20},
+ {&(_ZTV7G13x1y5[15]), 15,20},
+ {&(_ZTV7G13x1y5[19]), 19,20},
+ {&(_tg__ZTV5E13x1__7G13x1y5[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y5[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y5[];
+extern VTBL_ENTRY _ZTV7G13x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y5[];
+Class_Descriptor cd_G13x1y5 = { "G13x1y5", // class name
+ bases_G13x1y5, 6,
+ &(vtc_G13x1y5[0]), // expected_vtbl_contents
+ &(vtt_G13x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y5),9, //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 G13x1y6 : E13x1 , virtual F0 {
+ int ff;
+ ~G13x1y6(); // tgen
+ G13x1y6(); // tgen
+};
+//SIG(1 G13x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x1y6 ::~G13x1y6(){ note_dtor("G13x1y6", this);} // tgen
+G13x1y6 ::G13x1y6(){ note_ctor("G13x1y6", this);} // tgen
+
+static void Test_G13x1y6()
+{
+ extern Class_Descriptor cd_G13x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x1y6, buf);
+ G13x1y6 *dp, &lv = *(dp=new (buf) G13x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y6)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x1y6");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x1y6");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(24,16), "G13x1y6");
+ check_base_class_offset(lv, (D1*)(E13x1*), 0, "G13x1y6");
+ check_base_class_offset(lv, (E13x1*), 0, "G13x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x1y6.ff");
+ test_class_info(&lv, &cd_G13x1y6);
+ dp->~G13x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y6(Test_G13x1y6, "G13x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y6C1Ev();
+extern void _ZN7G13x1y6D1Ev();
+Name_Map name_map_G13x1y6[] = {
+ NSPAIR(_ZN7G13x1y6C1Ev),
+ NSPAIR(_ZN7G13x1y6D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C13, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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_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 _ZTI7G13x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y6[] = {
+ {&(_ZTV7G13x1y6[5]), 5,15},
+ {&(_tg__ZTV5E13x1__7G13x1y6[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y6[3]), 3,4},
+ {&(_ZTV7G13x1y6[10]), 10,15},
+ {&(_ZTV7G13x1y6[14]), 14,15},
+ {&(_tg__ZTV3C13__7G13x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y6[];
+extern VTBL_ENTRY _ZTV7G13x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y6[];
+Class_Descriptor cd_G13x1y6 = { "G13x1y6", // class name
+ bases_G13x1y6, 6,
+ &(vtc_G13x1y6[0]), // expected_vtbl_contents
+ &(vtt_G13x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y6),8, //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 G13x1y7 : virtual E13x1 , virtual F0 {
+ int ff;
+ ~G13x1y7(); // tgen
+ G13x1y7(); // tgen
+};
+//SIG(1 G13x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x1y7 ::~G13x1y7(){ note_dtor("G13x1y7", this);} // tgen
+G13x1y7 ::G13x1y7(){ note_ctor("G13x1y7", this);} // tgen
+
+static void Test_G13x1y7()
+{
+ extern Class_Descriptor cd_G13x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x1y7, buf);
+ G13x1y7 *dp, &lv = *(dp=new (buf) G13x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x1y7)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x1y7");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x1y7");
+ check_base_class_offset(lv, (C13*)(E13x1*), ABISELECT(32,20), "G13x1y7");
+ check_base_class_offset(lv, (D1*)(E13x1*), ABISELECT(16,8), "G13x1y7");
+ check_base_class_offset(lv, (E13x1*), ABISELECT(16,8), "G13x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G13x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x1y7.ff");
+ test_class_info(&lv, &cd_G13x1y7);
+ dp->~G13x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x1y7(Test_G13x1y7, "G13x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x1y7C1Ev();
+extern void _ZN7G13x1y7D1Ev();
+Name_Map name_map_G13x1y7[] = {
+ NSPAIR(_ZN7G13x1y7C1Ev),
+ NSPAIR(_ZN7G13x1y7D1Ev),
+ {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_E13x1;
+extern VTBL_ENTRY _ZTI5E13x1[];
+extern VTBL_ENTRY _ZTV5E13x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E13x1, 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
+ 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 _ZTI7G13x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x1__7G13x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x1__7G13x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x1__7G13x1y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x1y7[] = {
+ {&(_ZTV7G13x1y7[6]), 6,21},
+ {&(_ZTV7G13x1y7[11]), 11,21},
+ {&(_ZTV7G13x1y7[16]), 16,21},
+ {&(_ZTV7G13x1y7[20]), 20,21},
+ {&(_tg__ZTV5E13x1__7G13x1y7[4]), 4,5},
+ {&(_tg__ZTV3C13__5E13x1__7G13x1y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x1__7G13x1y7[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x1y7[];
+extern VTBL_ENTRY _ZTV7G13x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x1y7[];
+Class_Descriptor cd_G13x1y7 = { "G13x1y7", // class name
+ bases_G13x1y7, 6,
+ &(vtc_G13x1y7[0]), // expected_vtbl_contents
+ &(vtt_G13x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x1y7),9, //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 E14x1 : virtual C14 , D1 {
+ int fd;
+ ~E14x1(); // tgen
+ E14x1(); // tgen
+};
+//SIG(-1 E14x1) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ v2 Fi} Fi}
+
+
+E14x1 ::~E14x1(){ note_dtor("E14x1", this);} // tgen
+E14x1 ::E14x1(){ note_ctor("E14x1", this);} // tgen
+
+static void Test_E14x1()
+{
+ extern Class_Descriptor cd_E14x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E14x1, buf);
+ E14x1 *dp, &lv = *(dp=new (buf) E14x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E14x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x1)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "E14x1");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "E14x1");
+ check_base_class_offset(lv, (C14*), ABISELECT(16,12), "E14x1");
+ check_base_class_offset(lv, (D1*), 0, "E14x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E14x1.fd");
+ test_class_info(&lv, &cd_E14x1);
+ dp->~E14x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x1(Test_E14x1, "E14x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x1C1Ev();
+extern void _ZN5E14x1D1Ev();
+Name_Map name_map_E14x1[] = {
+ NSPAIR(_ZN5E14x1C1Ev),
+ NSPAIR(_ZN5E14x1D1Ev),
+ {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_E14x1[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 6, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x1[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x1[] = {
+ {&(_ZTV5E14x1[5]), 5,14},
+ {&(_ZTV5E14x1[10]), 10,14},
+ {&(_ZTV5E14x1[13]), 13,14},
+ {&(_tg__ZTV3C14__5E14x1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+Class_Descriptor cd_E14x1 = { "E14x1", // class name
+ bases_E14x1, 4,
+ &(vtc_E14x1[0]), // expected_vtbl_contents
+ &(vtt_E14x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E14x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x1),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 G14x1y0 : E14x1 , F1 {
+ int ff;
+ ~G14x1y0(); // tgen
+ G14x1y0(); // tgen
+};
+//SIG(1 G14x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x1y0 ::~G14x1y0(){ note_dtor("G14x1y0", this);} // tgen
+G14x1y0 ::G14x1y0(){ note_ctor("G14x1y0", this);} // tgen
+
+static void Test_G14x1y0()
+{
+ extern Class_Descriptor cd_G14x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x1y0, buf);
+ G14x1y0 *dp, &lv = *(dp=new (buf) G14x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y0)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x1y0");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x1y0");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(32,24), "G14x1y0");
+ check_base_class_offset(lv, (D1*)(E14x1*), 0, "G14x1y0");
+ check_base_class_offset(lv, (E14x1*), 0, "G14x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G14x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G14x1y0.ff");
+ test_class_info(&lv, &cd_G14x1y0);
+ dp->~G14x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y0(Test_G14x1y0, "G14x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y0C1Ev();
+extern void _ZN7G14x1y0D1Ev();
+Name_Map name_map_G14x1y0[] = {
+ NSPAIR(_ZN7G14x1y0C1Ev),
+ NSPAIR(_ZN7G14x1y0D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //bcp->offset
+ 13, //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, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G14x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x1y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y0[] = {
+ {&(_ZTV7G14x1y0[5]), 5,17},
+ {&(_tg__ZTV5E14x1__7G14x1y0[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y0[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y0[3]), 3,4},
+ {&(_ZTV7G14x1y0[13]), 13,17},
+ {&(_ZTV7G14x1y0[16]), 16,17},
+ {&(_tg__ZTV3C14__7G14x1y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y0[];
+extern VTBL_ENTRY _ZTV7G14x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y0[];
+Class_Descriptor cd_G14x1y0 = { "G14x1y0", // class name
+ bases_G14x1y0, 6,
+ &(vtc_G14x1y0[0]), // expected_vtbl_contents
+ &(vtt_G14x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y0),8, //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 G14x1y1 : virtual E14x1 , F1 {
+ int ff;
+ ~G14x1y1(); // tgen
+ G14x1y1(); // tgen
+};
+//SIG(1 G14x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x1y1 ::~G14x1y1(){ note_dtor("G14x1y1", this);} // tgen
+G14x1y1 ::G14x1y1(){ note_ctor("G14x1y1", this);} // tgen
+
+static void Test_G14x1y1()
+{
+ extern Class_Descriptor cd_G14x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x1y1, buf);
+ G14x1y1 *dp, &lv = *(dp=new (buf) G14x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y1)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x1y1");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x1y1");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(32,24), "G14x1y1");
+ check_base_class_offset(lv, (D1*)(E14x1*), ABISELECT(16,12), "G14x1y1");
+ check_base_class_offset(lv, (E14x1*), ABISELECT(16,12), "G14x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x1y1.ff");
+ test_class_info(&lv, &cd_G14x1y1);
+ dp->~G14x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y1(Test_G14x1y1, "G14x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y1C1Ev();
+extern void _ZN7G14x1y1D1Ev();
+Name_Map name_map_G14x1y1[] = {
+ NSPAIR(_ZN7G14x1y1C1Ev),
+ NSPAIR(_ZN7G14x1y1D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //bcp->offset
+ 18, //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, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G14x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x1y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y1[] = {
+ {&(_ZTV7G14x1y1[6]), 6,22},
+ {&(_ZTV7G14x1y1[13]), 13,22},
+ {&(_ZTV7G14x1y1[18]), 18,22},
+ {&(_ZTV7G14x1y1[21]), 21,22},
+ {&(_tg__ZTV5E14x1__7G14x1y1[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y1[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y1[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x1y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y1[];
+extern VTBL_ENTRY _ZTV7G14x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y1[];
+Class_Descriptor cd_G14x1y1 = { "G14x1y1", // class name
+ bases_G14x1y1, 6,
+ &(vtc_G14x1y1[0]), // expected_vtbl_contents
+ &(vtt_G14x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y1),9, //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 G14x1y2 : E14x1 , virtual F1 {
+ int ff;
+ ~G14x1y2(); // tgen
+ G14x1y2(); // tgen
+};
+//SIG(1 G14x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x1y2 ::~G14x1y2(){ note_dtor("G14x1y2", this);} // tgen
+G14x1y2 ::G14x1y2(){ note_ctor("G14x1y2", this);} // tgen
+
+static void Test_G14x1y2()
+{
+ extern Class_Descriptor cd_G14x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x1y2, buf);
+ G14x1y2 *dp, &lv = *(dp=new (buf) G14x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y2)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x1y2");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x1y2");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(24,16), "G14x1y2");
+ check_base_class_offset(lv, (D1*)(E14x1*), 0, "G14x1y2");
+ check_base_class_offset(lv, (E14x1*), 0, "G14x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x1y2.ff");
+ test_class_info(&lv, &cd_G14x1y2);
+ dp->~G14x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y2(Test_G14x1y2, "G14x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y2C1Ev();
+extern void _ZN7G14x1y2D1Ev();
+Name_Map name_map_G14x1y2[] = {
+ NSPAIR(_ZN7G14x1y2C1Ev),
+ NSPAIR(_ZN7G14x1y2D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x1y2[] = {
+ // 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
+ 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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x1y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y2[] = {
+ {&(_ZTV7G14x1y2[6]), 6,19},
+ {&(_tg__ZTV5E14x1__7G14x1y2[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y2[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y2[3]), 3,4},
+ {&(_ZTV7G14x1y2[11]), 11,19},
+ {&(_ZTV7G14x1y2[14]), 14,19},
+ {&(_ZTV7G14x1y2[18]), 18,19},
+ {&(_tg__ZTV3C14__7G14x1y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y2[];
+extern VTBL_ENTRY _ZTV7G14x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y2[];
+Class_Descriptor cd_G14x1y2 = { "G14x1y2", // class name
+ bases_G14x1y2, 6,
+ &(vtc_G14x1y2[0]), // expected_vtbl_contents
+ &(vtt_G14x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y2),9, //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 G14x1y3 : virtual E14x1 , virtual F1 {
+ int ff;
+ ~G14x1y3(); // tgen
+ G14x1y3(); // tgen
+};
+//SIG(1 G14x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x1y3 ::~G14x1y3(){ note_dtor("G14x1y3", this);} // tgen
+G14x1y3 ::G14x1y3(){ note_ctor("G14x1y3", this);} // tgen
+
+static void Test_G14x1y3()
+{
+ extern Class_Descriptor cd_G14x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x1y3, buf);
+ G14x1y3 *dp, &lv = *(dp=new (buf) G14x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y3)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x1y3");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x1y3");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(32,20), "G14x1y3");
+ check_base_class_offset(lv, (D1*)(E14x1*), ABISELECT(16,8), "G14x1y3");
+ check_base_class_offset(lv, (E14x1*), ABISELECT(16,8), "G14x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G14x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x1y3.ff");
+ test_class_info(&lv, &cd_G14x1y3);
+ dp->~G14x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y3(Test_G14x1y3, "G14x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y3C1Ev();
+extern void _ZN7G14x1y3D1Ev();
+Name_Map name_map_G14x1y3[] = {
+ NSPAIR(_ZN7G14x1y3C1Ev),
+ NSPAIR(_ZN7G14x1y3D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 18, //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, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 22, //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 _ZTI7G14x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x1y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y3[] = {
+ {&(_ZTV7G14x1y3[7]), 7,26},
+ {&(_ZTV7G14x1y3[13]), 13,26},
+ {&(_ZTV7G14x1y3[18]), 18,26},
+ {&(_ZTV7G14x1y3[21]), 21,26},
+ {&(_ZTV7G14x1y3[25]), 25,26},
+ {&(_tg__ZTV5E14x1__7G14x1y3[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y3[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y3[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x1y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y3[];
+extern VTBL_ENTRY _ZTV7G14x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y3[];
+Class_Descriptor cd_G14x1y3 = { "G14x1y3", // class name
+ bases_G14x1y3, 6,
+ &(vtc_G14x1y3[0]), // expected_vtbl_contents
+ &(vtt_G14x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y3),10, //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 G14x1y4 : E14x1 , F0 {
+ int ff;
+ ~G14x1y4(); // tgen
+ G14x1y4(); // tgen
+};
+//SIG(1 G14x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x1y4 ::~G14x1y4(){ note_dtor("G14x1y4", this);} // tgen
+G14x1y4 ::G14x1y4(){ note_ctor("G14x1y4", this);} // tgen
+
+static void Test_G14x1y4()
+{
+ extern Class_Descriptor cd_G14x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x1y4, buf);
+ G14x1y4 *dp, &lv = *(dp=new (buf) G14x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y4)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,28), "G14x1y4");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,32), "G14x1y4");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(24,20), "G14x1y4");
+ check_base_class_offset(lv, (D1*)(E14x1*), 0, "G14x1y4");
+ check_base_class_offset(lv, (E14x1*), 0, "G14x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G14x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x1y4.ff");
+ test_class_info(&lv, &cd_G14x1y4);
+ dp->~G14x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y4(Test_G14x1y4, "G14x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y4C1Ev();
+extern void _ZN7G14x1y4D1Ev();
+Name_Map name_map_G14x1y4[] = {
+ NSPAIR(_ZN7G14x1y4C1Ev),
+ NSPAIR(_ZN7G14x1y4D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x1y4[] = {
+ // 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, ABISELECT(40,32), //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_C14, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x1y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y4[] = {
+ {&(_ZTV7G14x1y4[5]), 5,14},
+ {&(_tg__ZTV5E14x1__7G14x1y4[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y4[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y4[3]), 3,4},
+ {&(_ZTV7G14x1y4[10]), 10,14},
+ {&(_ZTV7G14x1y4[13]), 13,14},
+ {&(_tg__ZTV3C14__7G14x1y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y4[];
+extern VTBL_ENTRY _ZTV7G14x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y4[];
+Class_Descriptor cd_G14x1y4 = { "G14x1y4", // class name
+ bases_G14x1y4, 6,
+ &(vtc_G14x1y4[0]), // expected_vtbl_contents
+ &(vtt_G14x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y4),8, //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 G14x1y5 : virtual E14x1 , F0 {
+ int ff;
+ ~G14x1y5(); // tgen
+ G14x1y5(); // tgen
+};
+//SIG(1 G14x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x1y5 ::~G14x1y5(){ note_dtor("G14x1y5", this);} // tgen
+G14x1y5 ::G14x1y5(){ note_ctor("G14x1y5", this);} // tgen
+
+static void Test_G14x1y5()
+{
+ extern Class_Descriptor cd_G14x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x1y5, buf);
+ G14x1y5 *dp, &lv = *(dp=new (buf) G14x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y5)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x1y5");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x1y5");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(32,24), "G14x1y5");
+ check_base_class_offset(lv, (D1*)(E14x1*), ABISELECT(16,12), "G14x1y5");
+ check_base_class_offset(lv, (E14x1*), ABISELECT(16,12), "G14x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x1y5.ff");
+ test_class_info(&lv, &cd_G14x1y5);
+ dp->~G14x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y5(Test_G14x1y5, "G14x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y5C1Ev();
+extern void _ZN7G14x1y5D1Ev();
+Name_Map name_map_G14x1y5[] = {
+ NSPAIR(_ZN7G14x1y5C1Ev),
+ NSPAIR(_ZN7G14x1y5D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //bcp->offset
+ 17, //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, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G14x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x1y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y5[] = {
+ {&(_ZTV7G14x1y5[6]), 6,21},
+ {&(_ZTV7G14x1y5[12]), 12,21},
+ {&(_ZTV7G14x1y5[17]), 17,21},
+ {&(_ZTV7G14x1y5[20]), 20,21},
+ {&(_tg__ZTV5E14x1__7G14x1y5[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y5[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y5[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x1y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y5[];
+extern VTBL_ENTRY _ZTV7G14x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y5[];
+Class_Descriptor cd_G14x1y5 = { "G14x1y5", // class name
+ bases_G14x1y5, 6,
+ &(vtc_G14x1y5[0]), // expected_vtbl_contents
+ &(vtt_G14x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y5),9, //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 G14x1y6 : E14x1 , virtual F0 {
+ int ff;
+ ~G14x1y6(); // tgen
+ G14x1y6(); // tgen
+};
+//SIG(1 G14x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x1y6 ::~G14x1y6(){ note_dtor("G14x1y6", this);} // tgen
+G14x1y6 ::G14x1y6(){ note_ctor("G14x1y6", this);} // tgen
+
+static void Test_G14x1y6()
+{
+ extern Class_Descriptor cd_G14x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x1y6, buf);
+ G14x1y6 *dp, &lv = *(dp=new (buf) G14x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y6)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x1y6");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x1y6");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(24,16), "G14x1y6");
+ check_base_class_offset(lv, (D1*)(E14x1*), 0, "G14x1y6");
+ check_base_class_offset(lv, (E14x1*), 0, "G14x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x1y6.ff");
+ test_class_info(&lv, &cd_G14x1y6);
+ dp->~G14x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y6(Test_G14x1y6, "G14x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y6C1Ev();
+extern void _ZN7G14x1y6D1Ev();
+Name_Map name_map_G14x1y6[] = {
+ NSPAIR(_ZN7G14x1y6C1Ev),
+ NSPAIR(_ZN7G14x1y6D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x1y6[] = {
+ // 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
+ 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, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G14x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x1y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y6[] = {
+ {&(_ZTV7G14x1y6[6]), 6,15},
+ {&(_tg__ZTV5E14x1__7G14x1y6[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y6[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y6[3]), 3,4},
+ {&(_ZTV7G14x1y6[11]), 11,15},
+ {&(_ZTV7G14x1y6[14]), 14,15},
+ {&(_tg__ZTV3C14__7G14x1y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y6[];
+extern VTBL_ENTRY _ZTV7G14x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y6[];
+Class_Descriptor cd_G14x1y6 = { "G14x1y6", // class name
+ bases_G14x1y6, 6,
+ &(vtc_G14x1y6[0]), // expected_vtbl_contents
+ &(vtt_G14x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y6),8, //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 G14x1y7 : virtual E14x1 , virtual F0 {
+ int ff;
+ ~G14x1y7(); // tgen
+ G14x1y7(); // tgen
+};
+//SIG(1 G14x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x1y7 ::~G14x1y7(){ note_dtor("G14x1y7", this);} // tgen
+G14x1y7 ::G14x1y7(){ note_ctor("G14x1y7", this);} // tgen
+
+static void Test_G14x1y7()
+{
+ extern Class_Descriptor cd_G14x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x1y7, buf);
+ G14x1y7 *dp, &lv = *(dp=new (buf) G14x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x1y7)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x1y7");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x1y7");
+ check_base_class_offset(lv, (C14*)(E14x1*), ABISELECT(32,20), "G14x1y7");
+ check_base_class_offset(lv, (D1*)(E14x1*), ABISELECT(16,8), "G14x1y7");
+ check_base_class_offset(lv, (E14x1*), ABISELECT(16,8), "G14x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G14x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x1y7.ff");
+ test_class_info(&lv, &cd_G14x1y7);
+ dp->~G14x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x1y7(Test_G14x1y7, "G14x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x1y7C1Ev();
+extern void _ZN7G14x1y7D1Ev();
+Name_Map name_map_G14x1y7[] = {
+ NSPAIR(_ZN7G14x1y7C1Ev),
+ NSPAIR(_ZN7G14x1y7D1Ev),
+ {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_E14x1;
+extern VTBL_ENTRY _ZTI5E14x1[];
+extern VTBL_ENTRY _ZTV5E14x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 18, //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, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E14x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G14x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x1y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E14x1__7G14x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x1__7G14x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x1__7G14x1y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x1y7[] = {
+ {&(_ZTV7G14x1y7[7]), 7,22},
+ {&(_ZTV7G14x1y7[13]), 13,22},
+ {&(_ZTV7G14x1y7[18]), 18,22},
+ {&(_ZTV7G14x1y7[21]), 21,22},
+ {&(_tg__ZTV5E14x1__7G14x1y7[5]), 5,6},
+ {&(_tg__ZTV3C14__5E14x1__7G14x1y7[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x1__7G14x1y7[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x1y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x1y7[];
+extern VTBL_ENTRY _ZTV7G14x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x1y7[];
+Class_Descriptor cd_G14x1y7 = { "G14x1y7", // class name
+ bases_G14x1y7, 6,
+ &(vtc_G14x1y7[0]), // expected_vtbl_contents
+ &(vtt_G14x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x1y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x1y7),9, //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 E15x1 : virtual C15 , D1 {
+ int fd;
+ ~E15x1(); // tgen
+ E15x1(); // tgen
+};
+//SIG(-1 E15x1) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ v3 Fi} Fi}
+
+
+E15x1 ::~E15x1(){ note_dtor("E15x1", this);} // tgen
+E15x1 ::E15x1(){ note_ctor("E15x1", this);} // tgen
+
+static void Test_E15x1()
+{
+ extern Class_Descriptor cd_E15x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x1, buf);
+ E15x1 *dp, &lv = *(dp=new (buf) E15x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x1)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "E15x1");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "E15x1");
+ check_base_class_offset(lv, (C15*), ABISELECT(16,12), "E15x1");
+ check_base_class_offset(lv, (D1*), 0, "E15x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E15x1.fd");
+ test_class_info(&lv, &cd_E15x1);
+ dp->~E15x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x1(Test_E15x1, "E15x1", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x1C1Ev();
+extern void _ZN5E15x1D1Ev();
+Name_Map name_map_E15x1[] = {
+ NSPAIR(_ZN5E15x1C1Ev),
+ NSPAIR(_ZN5E15x1D1Ev),
+ {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_E15x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //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(48,28), //bcp->offset
+ 14, //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
+ 6, //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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x1[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x1[] = {
+ {&(_ZTV5E15x1[5]), 5,18},
+ {&(_ZTV5E15x1[10]), 10,18},
+ {&(_ZTV5E15x1[13]), 13,18},
+ {&(_ZTV5E15x1[17]), 17,18},
+ {&(_tg__ZTV3C15__5E15x1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+Class_Descriptor cd_E15x1 = { "E15x1", // class name
+ bases_E15x1, 4,
+ &(vtc_E15x1[0]), // expected_vtbl_contents
+ &(vtt_E15x1[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x1),7, //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 G15x1y0 : E15x1 , F1 {
+ int ff;
+ ~G15x1y0(); // tgen
+ G15x1y0(); // tgen
+};
+//SIG(1 G15x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x1y0 ::~G15x1y0(){ note_dtor("G15x1y0", this);} // tgen
+G15x1y0 ::G15x1y0(){ note_ctor("G15x1y0", this);} // tgen
+
+static void Test_G15x1y0()
+{
+ extern Class_Descriptor cd_G15x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x1y0, buf);
+ G15x1y0 *dp, &lv = *(dp=new (buf) G15x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y0)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x1y0");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x1y0");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(32,24), "G15x1y0");
+ check_base_class_offset(lv, (D1*)(E15x1*), 0, "G15x1y0");
+ check_base_class_offset(lv, (E15x1*), 0, "G15x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G15x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G15x1y0.ff");
+ test_class_info(&lv, &cd_G15x1y0);
+ dp->~G15x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y0(Test_G15x1y0, "G15x1y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y0C1Ev();
+extern void _ZN7G15x1y0D1Ev();
+Name_Map name_map_G15x1y0[] = {
+ NSPAIR(_ZN7G15x1y0C1Ev),
+ NSPAIR(_ZN7G15x1y0D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x1y0[] = {
+ // 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)
+ 7, //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
+ 17, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x1y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x1y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x1y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y0[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y0[] = {
+ {&(_ZTV7G15x1y0[5]), 5,21},
+ {&(_tg__ZTV5E15x1__7G15x1y0[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y0[3]), 3,4},
+ {&(_ZTV7G15x1y0[13]), 13,21},
+ {&(_ZTV7G15x1y0[16]), 16,21},
+ {&(_ZTV7G15x1y0[20]), 20,21},
+ {&(_tg__ZTV3C15__7G15x1y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y0[];
+extern VTBL_ENTRY _ZTV7G15x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y0[];
+Class_Descriptor cd_G15x1y0 = { "G15x1y0", // class name
+ bases_G15x1y0, 6,
+ &(vtc_G15x1y0[0]), // expected_vtbl_contents
+ &(vtt_G15x1y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y0),11, //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 G15x1y1 : virtual E15x1 , F1 {
+ int ff;
+ ~G15x1y1(); // tgen
+ G15x1y1(); // tgen
+};
+//SIG(1 G15x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x1y1 ::~G15x1y1(){ note_dtor("G15x1y1", this);} // tgen
+G15x1y1 ::G15x1y1(){ note_ctor("G15x1y1", this);} // tgen
+
+static void Test_G15x1y1()
+{
+ extern Class_Descriptor cd_G15x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x1y1, buf);
+ G15x1y1 *dp, &lv = *(dp=new (buf) G15x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y1)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x1y1");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x1y1");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(32,24), "G15x1y1");
+ check_base_class_offset(lv, (D1*)(E15x1*), ABISELECT(16,12), "G15x1y1");
+ check_base_class_offset(lv, (E15x1*), ABISELECT(16,12), "G15x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x1y1.ff");
+ test_class_info(&lv, &cd_G15x1y1);
+ dp->~G15x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y1(Test_G15x1y1, "G15x1y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y1C1Ev();
+extern void _ZN7G15x1y1D1Ev();
+Name_Map name_map_G15x1y1[] = {
+ NSPAIR(_ZN7G15x1y1C1Ev),
+ NSPAIR(_ZN7G15x1y1D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 18, //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, ABISELECT(64,40), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G15x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x1y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x1y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x1y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y1[] = {
+ {&(_ZTV7G15x1y1[6]), 6,26},
+ {&(_ZTV7G15x1y1[13]), 13,26},
+ {&(_ZTV7G15x1y1[18]), 18,26},
+ {&(_ZTV7G15x1y1[21]), 21,26},
+ {&(_ZTV7G15x1y1[25]), 25,26},
+ {&(_tg__ZTV5E15x1__7G15x1y1[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y1[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x1y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y1[];
+extern VTBL_ENTRY _ZTV7G15x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y1[];
+Class_Descriptor cd_G15x1y1 = { "G15x1y1", // class name
+ bases_G15x1y1, 6,
+ &(vtc_G15x1y1[0]), // expected_vtbl_contents
+ &(vtt_G15x1y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y1),26, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y1),12, //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 G15x1y2 : E15x1 , virtual F1 {
+ int ff;
+ ~G15x1y2(); // tgen
+ G15x1y2(); // tgen
+};
+//SIG(1 G15x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x1y2 ::~G15x1y2(){ note_dtor("G15x1y2", this);} // tgen
+G15x1y2 ::G15x1y2(){ note_ctor("G15x1y2", this);} // tgen
+
+static void Test_G15x1y2()
+{
+ extern Class_Descriptor cd_G15x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x1y2, buf);
+ G15x1y2 *dp, &lv = *(dp=new (buf) G15x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y2)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x1y2");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x1y2");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(24,16), "G15x1y2");
+ check_base_class_offset(lv, (D1*)(E15x1*), 0, "G15x1y2");
+ check_base_class_offset(lv, (E15x1*), 0, "G15x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G15x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x1y2.ff");
+ test_class_info(&lv, &cd_G15x1y2);
+ dp->~G15x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y2(Test_G15x1y2, "G15x1y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y2C1Ev();
+extern void _ZN7G15x1y2D1Ev();
+Name_Map name_map_G15x1y2[] = {
+ NSPAIR(_ZN7G15x1y2C1Ev),
+ NSPAIR(_ZN7G15x1y2D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 11, //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
+ 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)
+ 8, //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(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(72,40), //bcp->offset
+ 19, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x1y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x1y2[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x1y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x1y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y2[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y2[] = {
+ {&(_ZTV7G15x1y2[6]), 6,23},
+ {&(_tg__ZTV5E15x1__7G15x1y2[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y2[3]), 3,4},
+ {&(_ZTV7G15x1y2[11]), 11,23},
+ {&(_ZTV7G15x1y2[14]), 14,23},
+ {&(_ZTV7G15x1y2[18]), 18,23},
+ {&(_ZTV7G15x1y2[22]), 22,23},
+ {&(_tg__ZTV3C15__7G15x1y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y2[];
+extern VTBL_ENTRY _ZTV7G15x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y2[];
+Class_Descriptor cd_G15x1y2 = { "G15x1y2", // class name
+ bases_G15x1y2, 6,
+ &(vtc_G15x1y2[0]), // expected_vtbl_contents
+ &(vtt_G15x1y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y2),12, //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 G15x1y3 : virtual E15x1 , virtual F1 {
+ int ff;
+ ~G15x1y3(); // tgen
+ G15x1y3(); // tgen
+};
+//SIG(1 G15x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x1y3 ::~G15x1y3(){ note_dtor("G15x1y3", this);} // tgen
+G15x1y3 ::G15x1y3(){ note_ctor("G15x1y3", this);} // tgen
+
+static void Test_G15x1y3()
+{
+ extern Class_Descriptor cd_G15x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x1y3, buf);
+ G15x1y3 *dp, &lv = *(dp=new (buf) G15x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y3)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x1y3");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x1y3");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(32,20), "G15x1y3");
+ check_base_class_offset(lv, (D1*)(E15x1*), ABISELECT(16,8), "G15x1y3");
+ check_base_class_offset(lv, (E15x1*), ABISELECT(16,8), "G15x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x1y3.ff");
+ test_class_info(&lv, &cd_G15x1y3);
+ dp->~G15x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y3(Test_G15x1y3, "G15x1y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y3C1Ev();
+extern void _ZN7G15x1y3D1Ev();
+Name_Map name_map_G15x1y3[] = {
+ NSPAIR(_ZN7G15x1y3C1Ev),
+ NSPAIR(_ZN7G15x1y3D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 26, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x1y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y3[] = {
+ {&(_ZTV7G15x1y3[7]), 7,30},
+ {&(_ZTV7G15x1y3[13]), 13,30},
+ {&(_ZTV7G15x1y3[18]), 18,30},
+ {&(_ZTV7G15x1y3[21]), 21,30},
+ {&(_ZTV7G15x1y3[25]), 25,30},
+ {&(_ZTV7G15x1y3[29]), 29,30},
+ {&(_tg__ZTV5E15x1__7G15x1y3[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y3[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x1y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y3[];
+extern VTBL_ENTRY _ZTV7G15x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y3[];
+Class_Descriptor cd_G15x1y3 = { "G15x1y3", // class name
+ bases_G15x1y3, 6,
+ &(vtc_G15x1y3[0]), // expected_vtbl_contents
+ &(vtt_G15x1y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y3),30, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y3),13, //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 G15x1y4 : E15x1 , F0 {
+ int ff;
+ ~G15x1y4(); // tgen
+ G15x1y4(); // tgen
+};
+//SIG(1 G15x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x1y4 ::~G15x1y4(){ note_dtor("G15x1y4", this);} // tgen
+G15x1y4 ::G15x1y4(){ note_ctor("G15x1y4", this);} // tgen
+
+static void Test_G15x1y4()
+{
+ extern Class_Descriptor cd_G15x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x1y4, buf);
+ G15x1y4 *dp, &lv = *(dp=new (buf) G15x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y4)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,28), "G15x1y4");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,36), "G15x1y4");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(24,20), "G15x1y4");
+ check_base_class_offset(lv, (D1*)(E15x1*), 0, "G15x1y4");
+ check_base_class_offset(lv, (E15x1*), 0, "G15x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G15x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x1y4.ff");
+ test_class_info(&lv, &cd_G15x1y4);
+ dp->~G15x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y4(Test_G15x1y4, "G15x1y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y4C1Ev();
+extern void _ZN7G15x1y4D1Ev();
+Name_Map name_map_G15x1y4[] = {
+ NSPAIR(_ZN7G15x1y4C1Ev),
+ NSPAIR(_ZN7G15x1y4D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 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)
+ 8, //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(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x1y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x1y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x1y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y4[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y4[] = {
+ {&(_ZTV7G15x1y4[5]), 5,18},
+ {&(_tg__ZTV5E15x1__7G15x1y4[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y4[3]), 3,4},
+ {&(_ZTV7G15x1y4[10]), 10,18},
+ {&(_ZTV7G15x1y4[13]), 13,18},
+ {&(_ZTV7G15x1y4[17]), 17,18},
+ {&(_tg__ZTV3C15__7G15x1y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y4[];
+extern VTBL_ENTRY _ZTV7G15x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y4[];
+Class_Descriptor cd_G15x1y4 = { "G15x1y4", // class name
+ bases_G15x1y4, 6,
+ &(vtc_G15x1y4[0]), // expected_vtbl_contents
+ &(vtt_G15x1y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y4),11, //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 G15x1y5 : virtual E15x1 , F0 {
+ int ff;
+ ~G15x1y5(); // tgen
+ G15x1y5(); // tgen
+};
+//SIG(1 G15x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x1y5 ::~G15x1y5(){ note_dtor("G15x1y5", this);} // tgen
+G15x1y5 ::G15x1y5(){ note_ctor("G15x1y5", this);} // tgen
+
+static void Test_G15x1y5()
+{
+ extern Class_Descriptor cd_G15x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x1y5, buf);
+ G15x1y5 *dp, &lv = *(dp=new (buf) G15x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y5)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x1y5");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x1y5");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(32,24), "G15x1y5");
+ check_base_class_offset(lv, (D1*)(E15x1*), ABISELECT(16,12), "G15x1y5");
+ check_base_class_offset(lv, (E15x1*), ABISELECT(16,12), "G15x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x1y5.ff");
+ test_class_info(&lv, &cd_G15x1y5);
+ dp->~G15x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y5(Test_G15x1y5, "G15x1y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y5C1Ev();
+extern void _ZN7G15x1y5D1Ev();
+Name_Map name_map_G15x1y5[] = {
+ NSPAIR(_ZN7G15x1y5C1Ev),
+ NSPAIR(_ZN7G15x1y5D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G15x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y5[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x1y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x1y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x1y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y5[] = {
+ {&(_ZTV7G15x1y5[6]), 6,25},
+ {&(_ZTV7G15x1y5[12]), 12,25},
+ {&(_ZTV7G15x1y5[17]), 17,25},
+ {&(_ZTV7G15x1y5[20]), 20,25},
+ {&(_ZTV7G15x1y5[24]), 24,25},
+ {&(_tg__ZTV5E15x1__7G15x1y5[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y5[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x1y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y5[];
+extern VTBL_ENTRY _ZTV7G15x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y5[];
+Class_Descriptor cd_G15x1y5 = { "G15x1y5", // class name
+ bases_G15x1y5, 6,
+ &(vtc_G15x1y5[0]), // expected_vtbl_contents
+ &(vtt_G15x1y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y5),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y5),12, //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 G15x1y6 : E15x1 , virtual F0 {
+ int ff;
+ ~G15x1y6(); // tgen
+ G15x1y6(); // tgen
+};
+//SIG(1 G15x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x1y6 ::~G15x1y6(){ note_dtor("G15x1y6", this);} // tgen
+G15x1y6 ::G15x1y6(){ note_ctor("G15x1y6", this);} // tgen
+
+static void Test_G15x1y6()
+{
+ extern Class_Descriptor cd_G15x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x1y6, buf);
+ G15x1y6 *dp, &lv = *(dp=new (buf) G15x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y6)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x1y6");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x1y6");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(24,16), "G15x1y6");
+ check_base_class_offset(lv, (D1*)(E15x1*), 0, "G15x1y6");
+ check_base_class_offset(lv, (E15x1*), 0, "G15x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G15x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x1y6.ff");
+ test_class_info(&lv, &cd_G15x1y6);
+ dp->~G15x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y6(Test_G15x1y6, "G15x1y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y6C1Ev();
+extern void _ZN7G15x1y6D1Ev();
+Name_Map name_map_G15x1y6[] = {
+ NSPAIR(_ZN7G15x1y6C1Ev),
+ NSPAIR(_ZN7G15x1y6D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 11, //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
+ 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)
+ 8, //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(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G15x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x1y6[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x1y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x1y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y6[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y6[] = {
+ {&(_ZTV7G15x1y6[6]), 6,19},
+ {&(_tg__ZTV5E15x1__7G15x1y6[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y6[3]), 3,4},
+ {&(_ZTV7G15x1y6[11]), 11,19},
+ {&(_ZTV7G15x1y6[14]), 14,19},
+ {&(_ZTV7G15x1y6[18]), 18,19},
+ {&(_tg__ZTV3C15__7G15x1y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y6[];
+extern VTBL_ENTRY _ZTV7G15x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y6[];
+Class_Descriptor cd_G15x1y6 = { "G15x1y6", // class name
+ bases_G15x1y6, 6,
+ &(vtc_G15x1y6[0]), // expected_vtbl_contents
+ &(vtt_G15x1y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y6),11, //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 G15x1y7 : virtual E15x1 , virtual F0 {
+ int ff;
+ ~G15x1y7(); // tgen
+ G15x1y7(); // tgen
+};
+//SIG(1 G15x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x1y7 ::~G15x1y7(){ note_dtor("G15x1y7", this);} // tgen
+G15x1y7 ::G15x1y7(){ note_ctor("G15x1y7", this);} // tgen
+
+static void Test_G15x1y7()
+{
+ extern Class_Descriptor cd_G15x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x1y7, buf);
+ G15x1y7 *dp, &lv = *(dp=new (buf) G15x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x1y7)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x1y7");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x1y7");
+ check_base_class_offset(lv, (C15*)(E15x1*), ABISELECT(32,20), "G15x1y7");
+ check_base_class_offset(lv, (D1*)(E15x1*), ABISELECT(16,8), "G15x1y7");
+ check_base_class_offset(lv, (E15x1*), ABISELECT(16,8), "G15x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G15x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x1y7.ff");
+ test_class_info(&lv, &cd_G15x1y7);
+ dp->~G15x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x1y7(Test_G15x1y7, "G15x1y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x1y7C1Ev();
+extern void _ZN7G15x1y7D1Ev();
+Name_Map name_map_G15x1y7[] = {
+ NSPAIR(_ZN7G15x1y7C1Ev),
+ NSPAIR(_ZN7G15x1y7D1Ev),
+ {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_E15x1;
+extern VTBL_ENTRY _ZTI5E15x1[];
+extern VTBL_ENTRY _ZTV5E15x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E15x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G15x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x1y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x1y7[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x1y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x1y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x1y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E15x1__7G15x1y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x1__7G15x1y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x1__7G15x1y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x1__7G15x1y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x1y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x1y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x1y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x1y7[] = {
+ {&(_ZTV7G15x1y7[7]), 7,26},
+ {&(_ZTV7G15x1y7[13]), 13,26},
+ {&(_ZTV7G15x1y7[18]), 18,26},
+ {&(_ZTV7G15x1y7[21]), 21,26},
+ {&(_ZTV7G15x1y7[25]), 25,26},
+ {&(_tg__ZTV5E15x1__7G15x1y7[5]), 5,6},
+ {&(_tg__ZTV3C15__5E15x1__7G15x1y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x1__7G15x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x1__7G15x1y7[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x1y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x1y7[];
+extern VTBL_ENTRY _ZTV7G15x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x1y7[];
+Class_Descriptor cd_G15x1y7 = { "G15x1y7", // class name
+ bases_G15x1y7, 6,
+ &(vtc_G15x1y7[0]), // expected_vtbl_contents
+ &(vtt_G15x1y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x1y7),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x1y7),12, //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 E16x1 : virtual C16 , D1 {
+ int fd;
+ ~E16x1(); // tgen
+ E16x1(); // tgen
+};
+//SIG(-1 E16x1) C1{ VBC2{ BC3{ Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E16x1 ::~E16x1(){ note_dtor("E16x1", this);} // tgen
+E16x1 ::E16x1(){ note_ctor("E16x1", this);} // tgen
+
+static void Test_E16x1()
+{
+ extern Class_Descriptor cd_E16x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E16x1, buf);
+ E16x1 *dp, &lv = *(dp=new (buf) E16x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E16x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x1)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "E16x1");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "E16x1");
+ check_base_class_offset(lv, (C16*), ABISELECT(16,12), "E16x1");
+ check_base_class_offset(lv, (D1*), 0, "E16x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E16x1.fd");
+ test_class_info(&lv, &cd_E16x1);
+ dp->~E16x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x1(Test_E16x1, "E16x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E16x1C1Ev();
+extern void _ZN5E16x1D1Ev();
+Name_Map name_map_E16x1[] = {
+ NSPAIR(_ZN5E16x1C1Ev),
+ NSPAIR(_ZN5E16x1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E16x1[] = {
+ // 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(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_C16, 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_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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_E16x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x1[];
+static VTT_ENTRY vtt_E16x1[] = {
+ {&(_ZTV5E16x1[3]), 3,8},
+ {&(_ZTV5E16x1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+Class_Descriptor cd_E16x1 = { "E16x1", // class name
+ bases_E16x1, 4,
+ &(vtc_E16x1[0]), // expected_vtbl_contents
+ &(vtt_E16x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E16x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x1),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 G16x1y0 : E16x1 , F1 {
+ int ff;
+ ~G16x1y0(); // tgen
+ G16x1y0(); // tgen
+};
+//SIG(1 G16x1y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x1y0 ::~G16x1y0(){ note_dtor("G16x1y0", this);} // tgen
+G16x1y0 ::G16x1y0(){ note_ctor("G16x1y0", this);} // tgen
+
+static void Test_G16x1y0()
+{
+ extern Class_Descriptor cd_G16x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x1y0, buf);
+ G16x1y0 *dp, &lv = *(dp=new (buf) G16x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y0)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x1y0");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x1y0");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(32,24), "G16x1y0");
+ check_base_class_offset(lv, (D1*)(E16x1*), 0, "G16x1y0");
+ check_base_class_offset(lv, (E16x1*), 0, "G16x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G16x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G16x1y0.ff");
+ test_class_info(&lv, &cd_G16x1y0);
+ dp->~G16x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y0(Test_G16x1y0, "G16x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y0C1Ev();
+extern void _ZN7G16x1y0D1Ev();
+Name_Map name_map_G16x1y0[] = {
+ NSPAIR(_ZN7G16x1y0C1Ev),
+ NSPAIR(_ZN7G16x1y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x1y0[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E16x1, 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(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 _ZTI7G16x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y0[] = {
+ {&(_ZTV7G16x1y0[3]), 3,11},
+ {&(_tg__ZTV5E16x1__7G16x1y0[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y0[3]), 3,4},
+ {&(_ZTV7G16x1y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x1y0[];
+extern VTBL_ENTRY _ZTV7G16x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y0[];
+Class_Descriptor cd_G16x1y0 = { "G16x1y0", // class name
+ bases_G16x1y0, 6,
+ &(vtc_G16x1y0[0]), // expected_vtbl_contents
+ &(vtt_G16x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y0),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 G16x1y1 : virtual E16x1 , F1 {
+ int ff;
+ ~G16x1y1(); // tgen
+ G16x1y1(); // tgen
+};
+//SIG(1 G16x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x1y1 ::~G16x1y1(){ note_dtor("G16x1y1", this);} // tgen
+G16x1y1 ::G16x1y1(){ note_ctor("G16x1y1", this);} // tgen
+
+static void Test_G16x1y1()
+{
+ extern Class_Descriptor cd_G16x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x1y1, buf);
+ G16x1y1 *dp, &lv = *(dp=new (buf) G16x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y1)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x1y1");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x1y1");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(32,24), "G16x1y1");
+ check_base_class_offset(lv, (D1*)(E16x1*), ABISELECT(16,12), "G16x1y1");
+ check_base_class_offset(lv, (E16x1*), ABISELECT(16,12), "G16x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x1y1.ff");
+ test_class_info(&lv, &cd_G16x1y1);
+ dp->~G16x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y1(Test_G16x1y1, "G16x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y1C1Ev();
+extern void _ZN7G16x1y1D1Ev();
+Name_Map name_map_G16x1y1[] = {
+ NSPAIR(_ZN7G16x1y1C1Ev),
+ NSPAIR(_ZN7G16x1y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x1y1[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x1, 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 _ZTI7G16x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y1[] = {
+ {&(_ZTV7G16x1y1[4]), 4,14},
+ {&(_ZTV7G16x1y1[9]), 9,14},
+ {&(_ZTV7G16x1y1[13]), 13,14},
+ {&(_tg__ZTV5E16x1__7G16x1y1[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x1y1[];
+extern VTBL_ENTRY _ZTV7G16x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y1[];
+Class_Descriptor cd_G16x1y1 = { "G16x1y1", // class name
+ bases_G16x1y1, 6,
+ &(vtc_G16x1y1[0]), // expected_vtbl_contents
+ &(vtt_G16x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y1),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 G16x1y2 : E16x1 , virtual F1 {
+ int ff;
+ ~G16x1y2(); // tgen
+ G16x1y2(); // tgen
+};
+//SIG(1 G16x1y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x1y2 ::~G16x1y2(){ note_dtor("G16x1y2", this);} // tgen
+G16x1y2 ::G16x1y2(){ note_ctor("G16x1y2", this);} // tgen
+
+static void Test_G16x1y2()
+{
+ extern Class_Descriptor cd_G16x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x1y2, buf);
+ G16x1y2 *dp, &lv = *(dp=new (buf) G16x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y2)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x1y2");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x1y2");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(24,16), "G16x1y2");
+ check_base_class_offset(lv, (D1*)(E16x1*), 0, "G16x1y2");
+ check_base_class_offset(lv, (E16x1*), 0, "G16x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x1y2.ff");
+ test_class_info(&lv, &cd_G16x1y2);
+ dp->~G16x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y2(Test_G16x1y2, "G16x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y2C1Ev();
+extern void _ZN7G16x1y2D1Ev();
+Name_Map name_map_G16x1y2[] = {
+ NSPAIR(_ZN7G16x1y2C1Ev),
+ NSPAIR(_ZN7G16x1y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x1y2[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x1, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y2[] = {
+ {&(_ZTV7G16x1y2[4]), 4,13},
+ {&(_tg__ZTV5E16x1__7G16x1y2[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y2[3]), 3,4},
+ {&(_ZTV7G16x1y2[8]), 8,13},
+ {&(_ZTV7G16x1y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G16x1y2[];
+extern VTBL_ENTRY _ZTV7G16x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y2[];
+Class_Descriptor cd_G16x1y2 = { "G16x1y2", // class name
+ bases_G16x1y2, 6,
+ &(vtc_G16x1y2[0]), // expected_vtbl_contents
+ &(vtt_G16x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y2),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 G16x1y3 : virtual E16x1 , virtual F1 {
+ int ff;
+ ~G16x1y3(); // tgen
+ G16x1y3(); // tgen
+};
+//SIG(1 G16x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x1y3 ::~G16x1y3(){ note_dtor("G16x1y3", this);} // tgen
+G16x1y3 ::G16x1y3(){ note_ctor("G16x1y3", this);} // tgen
+
+static void Test_G16x1y3()
+{
+ extern Class_Descriptor cd_G16x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x1y3, buf);
+ G16x1y3 *dp, &lv = *(dp=new (buf) G16x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y3)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x1y3");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x1y3");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(32,20), "G16x1y3");
+ check_base_class_offset(lv, (D1*)(E16x1*), ABISELECT(16,8), "G16x1y3");
+ check_base_class_offset(lv, (E16x1*), ABISELECT(16,8), "G16x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x1y3.ff");
+ test_class_info(&lv, &cd_G16x1y3);
+ dp->~G16x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y3(Test_G16x1y3, "G16x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y3C1Ev();
+extern void _ZN7G16x1y3D1Ev();
+Name_Map name_map_G16x1y3[] = {
+ NSPAIR(_ZN7G16x1y3C1Ev),
+ NSPAIR(_ZN7G16x1y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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, 0},
+ {&cd_C16, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x1, 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
+ 14, //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 _ZTI7G16x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y3[] = {
+ {&(_ZTV7G16x1y3[5]), 5,18},
+ {&(_ZTV7G16x1y3[9]), 9,18},
+ {&(_ZTV7G16x1y3[13]), 13,18},
+ {&(_ZTV7G16x1y3[17]), 17,18},
+ {&(_tg__ZTV5E16x1__7G16x1y3[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x1y3[];
+extern VTBL_ENTRY _ZTV7G16x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y3[];
+Class_Descriptor cd_G16x1y3 = { "G16x1y3", // class name
+ bases_G16x1y3, 6,
+ &(vtc_G16x1y3[0]), // expected_vtbl_contents
+ &(vtt_G16x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y3),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 G16x1y4 : E16x1 , F0 {
+ int ff;
+ ~G16x1y4(); // tgen
+ G16x1y4(); // tgen
+};
+//SIG(1 G16x1y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x1y4 ::~G16x1y4(){ note_dtor("G16x1y4", this);} // tgen
+G16x1y4 ::G16x1y4(){ note_ctor("G16x1y4", this);} // tgen
+
+static void Test_G16x1y4()
+{
+ extern Class_Descriptor cd_G16x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x1y4, buf);
+ G16x1y4 *dp, &lv = *(dp=new (buf) G16x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y4)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,24), "G16x1y4");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,28), "G16x1y4");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(24,20), "G16x1y4");
+ check_base_class_offset(lv, (D1*)(E16x1*), 0, "G16x1y4");
+ check_base_class_offset(lv, (E16x1*), 0, "G16x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G16x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G16x1y4.ff");
+ test_class_info(&lv, &cd_G16x1y4);
+ dp->~G16x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y4(Test_G16x1y4, "G16x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y4C1Ev();
+extern void _ZN7G16x1y4D1Ev();
+Name_Map name_map_G16x1y4[] = {
+ NSPAIR(_ZN7G16x1y4C1Ev),
+ NSPAIR(_ZN7G16x1y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x1y4[] = {
+ // 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, 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, 0},
+ {&cd_C16, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E16x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y4[] = {
+ {&(_ZTV7G16x1y4[3]), 3,8},
+ {&(_tg__ZTV5E16x1__7G16x1y4[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y4[3]), 3,4},
+ {&(_ZTV7G16x1y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x1y4[];
+extern VTBL_ENTRY _ZTV7G16x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y4[];
+Class_Descriptor cd_G16x1y4 = { "G16x1y4", // class name
+ bases_G16x1y4, 6,
+ &(vtc_G16x1y4[0]), // expected_vtbl_contents
+ &(vtt_G16x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y4),4, //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 G16x1y5 : virtual E16x1 , F0 {
+ int ff;
+ ~G16x1y5(); // tgen
+ G16x1y5(); // tgen
+};
+//SIG(1 G16x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x1y5 ::~G16x1y5(){ note_dtor("G16x1y5", this);} // tgen
+G16x1y5 ::G16x1y5(){ note_ctor("G16x1y5", this);} // tgen
+
+static void Test_G16x1y5()
+{
+ extern Class_Descriptor cd_G16x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x1y5, buf);
+ G16x1y5 *dp, &lv = *(dp=new (buf) G16x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y5)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x1y5");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x1y5");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(32,24), "G16x1y5");
+ check_base_class_offset(lv, (D1*)(E16x1*), ABISELECT(16,12), "G16x1y5");
+ check_base_class_offset(lv, (E16x1*), ABISELECT(16,12), "G16x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x1y5.ff");
+ test_class_info(&lv, &cd_G16x1y5);
+ dp->~G16x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y5(Test_G16x1y5, "G16x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y5C1Ev();
+extern void _ZN7G16x1y5D1Ev();
+Name_Map name_map_G16x1y5[] = {
+ NSPAIR(_ZN7G16x1y5C1Ev),
+ NSPAIR(_ZN7G16x1y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x1y5[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, ABISELECT(32,24), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x1, 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 _ZTI7G16x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y5[] = {
+ {&(_ZTV7G16x1y5[4]), 4,13},
+ {&(_ZTV7G16x1y5[8]), 8,13},
+ {&(_ZTV7G16x1y5[12]), 12,13},
+ {&(_tg__ZTV5E16x1__7G16x1y5[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x1y5[];
+extern VTBL_ENTRY _ZTV7G16x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y5[];
+Class_Descriptor cd_G16x1y5 = { "G16x1y5", // class name
+ bases_G16x1y5, 6,
+ &(vtc_G16x1y5[0]), // expected_vtbl_contents
+ &(vtt_G16x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y5),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 G16x1y6 : E16x1 , virtual F0 {
+ int ff;
+ ~G16x1y6(); // tgen
+ G16x1y6(); // tgen
+};
+//SIG(1 G16x1y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x1y6 ::~G16x1y6(){ note_dtor("G16x1y6", this);} // tgen
+G16x1y6 ::G16x1y6(){ note_ctor("G16x1y6", this);} // tgen
+
+static void Test_G16x1y6()
+{
+ extern Class_Descriptor cd_G16x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x1y6, buf);
+ G16x1y6 *dp, &lv = *(dp=new (buf) G16x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y6)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x1y6");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x1y6");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(24,16), "G16x1y6");
+ check_base_class_offset(lv, (D1*)(E16x1*), 0, "G16x1y6");
+ check_base_class_offset(lv, (E16x1*), 0, "G16x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x1y6.ff");
+ test_class_info(&lv, &cd_G16x1y6);
+ dp->~G16x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y6(Test_G16x1y6, "G16x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y6C1Ev();
+extern void _ZN7G16x1y6D1Ev();
+Name_Map name_map_G16x1y6[] = {
+ NSPAIR(_ZN7G16x1y6C1Ev),
+ NSPAIR(_ZN7G16x1y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x1y6[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E16x1, 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(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 _ZTI7G16x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y6[] = {
+ {&(_ZTV7G16x1y6[4]), 4,9},
+ {&(_tg__ZTV5E16x1__7G16x1y6[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y6[3]), 3,4},
+ {&(_ZTV7G16x1y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G16x1y6[];
+extern VTBL_ENTRY _ZTV7G16x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y6[];
+Class_Descriptor cd_G16x1y6 = { "G16x1y6", // class name
+ bases_G16x1y6, 6,
+ &(vtc_G16x1y6[0]), // expected_vtbl_contents
+ &(vtt_G16x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y6),4, //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 G16x1y7 : virtual E16x1 , virtual F0 {
+ int ff;
+ ~G16x1y7(); // tgen
+ G16x1y7(); // tgen
+};
+//SIG(1 G16x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x1y7 ::~G16x1y7(){ note_dtor("G16x1y7", this);} // tgen
+G16x1y7 ::G16x1y7(){ note_ctor("G16x1y7", this);} // tgen
+
+static void Test_G16x1y7()
+{
+ extern Class_Descriptor cd_G16x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x1y7, buf);
+ G16x1y7 *dp, &lv = *(dp=new (buf) G16x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x1y7)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x1y7");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x1y7");
+ check_base_class_offset(lv, (C16*)(E16x1*), ABISELECT(32,20), "G16x1y7");
+ check_base_class_offset(lv, (D1*)(E16x1*), ABISELECT(16,8), "G16x1y7");
+ check_base_class_offset(lv, (E16x1*), ABISELECT(16,8), "G16x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G16x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x1y7.ff");
+ test_class_info(&lv, &cd_G16x1y7);
+ dp->~G16x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x1y7(Test_G16x1y7, "G16x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x1y7C1Ev();
+extern void _ZN7G16x1y7D1Ev();
+Name_Map name_map_G16x1y7[] = {
+ NSPAIR(_ZN7G16x1y7C1Ev),
+ NSPAIR(_ZN7G16x1y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x1;
+extern VTBL_ENTRY _ZTI5E16x1[];
+extern VTBL_ENTRY _ZTV5E16x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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, 0},
+ {&cd_C16, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x1, 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 _ZTI7G16x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x1__7G16x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x1__7G16x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x1y7[] = {
+ {&(_ZTV7G16x1y7[5]), 5,14},
+ {&(_ZTV7G16x1y7[9]), 9,14},
+ {&(_ZTV7G16x1y7[13]), 13,14},
+ {&(_tg__ZTV5E16x1__7G16x1y7[3]), 3,4},
+ {&(_tg__ZTV3C16__5E16x1__7G16x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x1y7[];
+extern VTBL_ENTRY _ZTV7G16x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x1y7[];
+Class_Descriptor cd_G16x1y7 = { "G16x1y7", // class name
+ bases_G16x1y7, 6,
+ &(vtc_G16x1y7[0]), // expected_vtbl_contents
+ &(vtt_G16x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x1y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x1y7),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 E17x1 : virtual C17 , D1 {
+ int fd;
+ ~E17x1(); // tgen
+ E17x1(); // tgen
+};
+//SIG(-1 E17x1) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E17x1 ::~E17x1(){ note_dtor("E17x1", this);} // tgen
+E17x1 ::E17x1(){ note_ctor("E17x1", this);} // tgen
+
+static void Test_E17x1()
+{
+ extern Class_Descriptor cd_E17x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E17x1, buf);
+ E17x1 *dp, &lv = *(dp=new (buf) E17x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E17x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x1)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "E17x1");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "E17x1");
+ check_base_class_offset(lv, (C17*), ABISELECT(16,12), "E17x1");
+ check_base_class_offset(lv, (D1*), 0, "E17x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E17x1.fd");
+ test_class_info(&lv, &cd_E17x1);
+ dp->~E17x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x1(Test_E17x1, "E17x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E17x1C1Ev();
+extern void _ZN5E17x1D1Ev();
+Name_Map name_map_E17x1[] = {
+ NSPAIR(_ZN5E17x1C1Ev),
+ NSPAIR(_ZN5E17x1D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E17x1[] = {
+ // 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_C17, 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_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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_E17x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x1[];
+static VTT_ENTRY vtt_E17x1[] = {
+ {&(_ZTV5E17x1[3]), 3,8},
+ {&(_ZTV5E17x1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+Class_Descriptor cd_E17x1 = { "E17x1", // class name
+ bases_E17x1, 4,
+ &(vtc_E17x1[0]), // expected_vtbl_contents
+ &(vtt_E17x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E17x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x1),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 G17x1y0 : E17x1 , F1 {
+ int ff;
+ ~G17x1y0(); // tgen
+ G17x1y0(); // tgen
+};
+//SIG(1 G17x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x1y0 ::~G17x1y0(){ note_dtor("G17x1y0", this);} // tgen
+G17x1y0 ::G17x1y0(){ note_ctor("G17x1y0", this);} // tgen
+
+static void Test_G17x1y0()
+{
+ extern Class_Descriptor cd_G17x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x1y0, buf);
+ G17x1y0 *dp, &lv = *(dp=new (buf) G17x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y0)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x1y0");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x1y0");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(32,24), "G17x1y0");
+ check_base_class_offset(lv, (D1*)(E17x1*), 0, "G17x1y0");
+ check_base_class_offset(lv, (E17x1*), 0, "G17x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G17x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G17x1y0.ff");
+ test_class_info(&lv, &cd_G17x1y0);
+ dp->~G17x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y0(Test_G17x1y0, "G17x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y0C1Ev();
+extern void _ZN7G17x1y0D1Ev();
+Name_Map name_map_G17x1y0[] = {
+ NSPAIR(_ZN7G17x1y0C1Ev),
+ NSPAIR(_ZN7G17x1y0D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y0[] = {
+ {&(_ZTV7G17x1y0[3]), 3,11},
+ {&(_tg__ZTV5E17x1__7G17x1y0[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y0[3]), 3,4},
+ {&(_ZTV7G17x1y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x1y0[];
+extern VTBL_ENTRY _ZTV7G17x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y0[];
+Class_Descriptor cd_G17x1y0 = { "G17x1y0", // class name
+ bases_G17x1y0, 6,
+ &(vtc_G17x1y0[0]), // expected_vtbl_contents
+ &(vtt_G17x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y0),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 G17x1y1 : virtual E17x1 , F1 {
+ int ff;
+ ~G17x1y1(); // tgen
+ G17x1y1(); // tgen
+};
+//SIG(1 G17x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x1y1 ::~G17x1y1(){ note_dtor("G17x1y1", this);} // tgen
+G17x1y1 ::G17x1y1(){ note_ctor("G17x1y1", this);} // tgen
+
+static void Test_G17x1y1()
+{
+ extern Class_Descriptor cd_G17x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x1y1, buf);
+ G17x1y1 *dp, &lv = *(dp=new (buf) G17x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y1)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x1y1");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x1y1");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(32,24), "G17x1y1");
+ check_base_class_offset(lv, (D1*)(E17x1*), ABISELECT(16,12), "G17x1y1");
+ check_base_class_offset(lv, (E17x1*), ABISELECT(16,12), "G17x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x1y1.ff");
+ test_class_info(&lv, &cd_G17x1y1);
+ dp->~G17x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y1(Test_G17x1y1, "G17x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y1C1Ev();
+extern void _ZN7G17x1y1D1Ev();
+Name_Map name_map_G17x1y1[] = {
+ NSPAIR(_ZN7G17x1y1C1Ev),
+ NSPAIR(_ZN7G17x1y1D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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 _ZTI7G17x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y1[] = {
+ {&(_ZTV7G17x1y1[4]), 4,14},
+ {&(_ZTV7G17x1y1[9]), 9,14},
+ {&(_ZTV7G17x1y1[13]), 13,14},
+ {&(_tg__ZTV5E17x1__7G17x1y1[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x1y1[];
+extern VTBL_ENTRY _ZTV7G17x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y1[];
+Class_Descriptor cd_G17x1y1 = { "G17x1y1", // class name
+ bases_G17x1y1, 6,
+ &(vtc_G17x1y1[0]), // expected_vtbl_contents
+ &(vtt_G17x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y1),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 G17x1y2 : E17x1 , virtual F1 {
+ int ff;
+ ~G17x1y2(); // tgen
+ G17x1y2(); // tgen
+};
+//SIG(1 G17x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x1y2 ::~G17x1y2(){ note_dtor("G17x1y2", this);} // tgen
+G17x1y2 ::G17x1y2(){ note_ctor("G17x1y2", this);} // tgen
+
+static void Test_G17x1y2()
+{
+ extern Class_Descriptor cd_G17x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x1y2, buf);
+ G17x1y2 *dp, &lv = *(dp=new (buf) G17x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y2)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x1y2");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x1y2");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(24,16), "G17x1y2");
+ check_base_class_offset(lv, (D1*)(E17x1*), 0, "G17x1y2");
+ check_base_class_offset(lv, (E17x1*), 0, "G17x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x1y2.ff");
+ test_class_info(&lv, &cd_G17x1y2);
+ dp->~G17x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y2(Test_G17x1y2, "G17x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y2C1Ev();
+extern void _ZN7G17x1y2D1Ev();
+Name_Map name_map_G17x1y2[] = {
+ NSPAIR(_ZN7G17x1y2C1Ev),
+ NSPAIR(_ZN7G17x1y2D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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, 0},
+ {&cd_C17, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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(48,32), //bcp->offset
+ 9, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y2[] = {
+ {&(_ZTV7G17x1y2[4]), 4,13},
+ {&(_tg__ZTV5E17x1__7G17x1y2[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y2[3]), 3,4},
+ {&(_ZTV7G17x1y2[8]), 8,13},
+ {&(_ZTV7G17x1y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G17x1y2[];
+extern VTBL_ENTRY _ZTV7G17x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y2[];
+Class_Descriptor cd_G17x1y2 = { "G17x1y2", // class name
+ bases_G17x1y2, 6,
+ &(vtc_G17x1y2[0]), // expected_vtbl_contents
+ &(vtt_G17x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y2),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 G17x1y3 : virtual E17x1 , virtual F1 {
+ int ff;
+ ~G17x1y3(); // tgen
+ G17x1y3(); // tgen
+};
+//SIG(1 G17x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x1y3 ::~G17x1y3(){ note_dtor("G17x1y3", this);} // tgen
+G17x1y3 ::G17x1y3(){ note_ctor("G17x1y3", this);} // tgen
+
+static void Test_G17x1y3()
+{
+ extern Class_Descriptor cd_G17x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x1y3, buf);
+ G17x1y3 *dp, &lv = *(dp=new (buf) G17x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y3)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x1y3");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x1y3");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(32,20), "G17x1y3");
+ check_base_class_offset(lv, (D1*)(E17x1*), ABISELECT(16,8), "G17x1y3");
+ check_base_class_offset(lv, (E17x1*), ABISELECT(16,8), "G17x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x1y3.ff");
+ test_class_info(&lv, &cd_G17x1y3);
+ dp->~G17x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y3(Test_G17x1y3, "G17x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y3C1Ev();
+extern void _ZN7G17x1y3D1Ev();
+Name_Map name_map_G17x1y3[] = {
+ NSPAIR(_ZN7G17x1y3C1Ev),
+ NSPAIR(_ZN7G17x1y3D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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
+ 14, //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 _ZTI7G17x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y3[] = {
+ {&(_ZTV7G17x1y3[5]), 5,18},
+ {&(_ZTV7G17x1y3[9]), 9,18},
+ {&(_ZTV7G17x1y3[13]), 13,18},
+ {&(_ZTV7G17x1y3[17]), 17,18},
+ {&(_tg__ZTV5E17x1__7G17x1y3[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x1y3[];
+extern VTBL_ENTRY _ZTV7G17x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y3[];
+Class_Descriptor cd_G17x1y3 = { "G17x1y3", // class name
+ bases_G17x1y3, 6,
+ &(vtc_G17x1y3[0]), // expected_vtbl_contents
+ &(vtt_G17x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y3),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 G17x1y4 : E17x1 , F0 {
+ int ff;
+ ~G17x1y4(); // tgen
+ G17x1y4(); // tgen
+};
+//SIG(1 G17x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x1y4 ::~G17x1y4(){ note_dtor("G17x1y4", this);} // tgen
+G17x1y4 ::G17x1y4(){ note_ctor("G17x1y4", this);} // tgen
+
+static void Test_G17x1y4()
+{
+ extern Class_Descriptor cd_G17x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x1y4, buf);
+ G17x1y4 *dp, &lv = *(dp=new (buf) G17x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y4)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,20), "G17x1y4");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,28), "G17x1y4");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(24,20), "G17x1y4");
+ check_base_class_offset(lv, (D1*)(E17x1*), 0, "G17x1y4");
+ check_base_class_offset(lv, (E17x1*), 0, "G17x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G17x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G17x1y4.ff");
+ test_class_info(&lv, &cd_G17x1y4);
+ dp->~G17x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y4(Test_G17x1y4, "G17x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y4C1Ev();
+extern void _ZN7G17x1y4D1Ev();
+Name_Map name_map_G17x1y4[] = {
+ NSPAIR(_ZN7G17x1y4C1Ev),
+ NSPAIR(_ZN7G17x1y4D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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(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, 0},
+ {&cd_C17, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y4[] = {
+ {&(_ZTV7G17x1y4[3]), 3,8},
+ {&(_tg__ZTV5E17x1__7G17x1y4[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y4[3]), 3,4},
+ {&(_ZTV7G17x1y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x1y4[];
+extern VTBL_ENTRY _ZTV7G17x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y4[];
+Class_Descriptor cd_G17x1y4 = { "G17x1y4", // class name
+ bases_G17x1y4, 6,
+ &(vtc_G17x1y4[0]), // expected_vtbl_contents
+ &(vtt_G17x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y4),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 G17x1y5 : virtual E17x1 , F0 {
+ int ff;
+ ~G17x1y5(); // tgen
+ G17x1y5(); // tgen
+};
+//SIG(1 G17x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x1y5 ::~G17x1y5(){ note_dtor("G17x1y5", this);} // tgen
+G17x1y5 ::G17x1y5(){ note_ctor("G17x1y5", this);} // tgen
+
+static void Test_G17x1y5()
+{
+ extern Class_Descriptor cd_G17x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x1y5, buf);
+ G17x1y5 *dp, &lv = *(dp=new (buf) G17x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y5)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x1y5");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x1y5");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(32,24), "G17x1y5");
+ check_base_class_offset(lv, (D1*)(E17x1*), ABISELECT(16,12), "G17x1y5");
+ check_base_class_offset(lv, (E17x1*), ABISELECT(16,12), "G17x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x1y5.ff");
+ test_class_info(&lv, &cd_G17x1y5);
+ dp->~G17x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y5(Test_G17x1y5, "G17x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y5C1Ev();
+extern void _ZN7G17x1y5D1Ev();
+Name_Map name_map_G17x1y5[] = {
+ NSPAIR(_ZN7G17x1y5C1Ev),
+ NSPAIR(_ZN7G17x1y5D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,24), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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 _ZTI7G17x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y5[] = {
+ {&(_ZTV7G17x1y5[4]), 4,13},
+ {&(_ZTV7G17x1y5[8]), 8,13},
+ {&(_ZTV7G17x1y5[12]), 12,13},
+ {&(_tg__ZTV5E17x1__7G17x1y5[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x1y5[];
+extern VTBL_ENTRY _ZTV7G17x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y5[];
+Class_Descriptor cd_G17x1y5 = { "G17x1y5", // class name
+ bases_G17x1y5, 6,
+ &(vtc_G17x1y5[0]), // expected_vtbl_contents
+ &(vtt_G17x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y5),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 G17x1y6 : E17x1 , virtual F0 {
+ int ff;
+ ~G17x1y6(); // tgen
+ G17x1y6(); // tgen
+};
+//SIG(1 G17x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x1y6 ::~G17x1y6(){ note_dtor("G17x1y6", this);} // tgen
+G17x1y6 ::G17x1y6(){ note_ctor("G17x1y6", this);} // tgen
+
+static void Test_G17x1y6()
+{
+ extern Class_Descriptor cd_G17x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x1y6, buf);
+ G17x1y6 *dp, &lv = *(dp=new (buf) G17x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y6)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x1y6");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x1y6");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(24,16), "G17x1y6");
+ check_base_class_offset(lv, (D1*)(E17x1*), 0, "G17x1y6");
+ check_base_class_offset(lv, (E17x1*), 0, "G17x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x1y6.ff");
+ test_class_info(&lv, &cd_G17x1y6);
+ dp->~G17x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y6(Test_G17x1y6, "G17x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y6C1Ev();
+extern void _ZN7G17x1y6D1Ev();
+Name_Map name_map_G17x1y6[] = {
+ NSPAIR(_ZN7G17x1y6C1Ev),
+ NSPAIR(_ZN7G17x1y6D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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, 0},
+ {&cd_C17, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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(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 _ZTI7G17x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y6[] = {
+ {&(_ZTV7G17x1y6[4]), 4,9},
+ {&(_tg__ZTV5E17x1__7G17x1y6[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y6[3]), 3,4},
+ {&(_ZTV7G17x1y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G17x1y6[];
+extern VTBL_ENTRY _ZTV7G17x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y6[];
+Class_Descriptor cd_G17x1y6 = { "G17x1y6", // class name
+ bases_G17x1y6, 6,
+ &(vtc_G17x1y6[0]), // expected_vtbl_contents
+ &(vtt_G17x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y6),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 G17x1y7 : virtual E17x1 , virtual F0 {
+ int ff;
+ ~G17x1y7(); // tgen
+ G17x1y7(); // tgen
+};
+//SIG(1 G17x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x1y7 ::~G17x1y7(){ note_dtor("G17x1y7", this);} // tgen
+G17x1y7 ::G17x1y7(){ note_ctor("G17x1y7", this);} // tgen
+
+static void Test_G17x1y7()
+{
+ extern Class_Descriptor cd_G17x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x1y7, buf);
+ G17x1y7 *dp, &lv = *(dp=new (buf) G17x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x1y7)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x1y7");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x1y7");
+ check_base_class_offset(lv, (C17*)(E17x1*), ABISELECT(32,20), "G17x1y7");
+ check_base_class_offset(lv, (D1*)(E17x1*), ABISELECT(16,8), "G17x1y7");
+ check_base_class_offset(lv, (E17x1*), ABISELECT(16,8), "G17x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G17x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x1y7.ff");
+ test_class_info(&lv, &cd_G17x1y7);
+ dp->~G17x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x1y7(Test_G17x1y7, "G17x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x1y7C1Ev();
+extern void _ZN7G17x1y7D1Ev();
+Name_Map name_map_G17x1y7[] = {
+ NSPAIR(_ZN7G17x1y7C1Ev),
+ NSPAIR(_ZN7G17x1y7D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x1;
+extern VTBL_ENTRY _ZTI5E17x1[];
+extern VTBL_ENTRY _ZTV5E17x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x1, 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 _ZTI7G17x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x1__7G17x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x1__7G17x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x1y7[] = {
+ {&(_ZTV7G17x1y7[5]), 5,14},
+ {&(_ZTV7G17x1y7[9]), 9,14},
+ {&(_ZTV7G17x1y7[13]), 13,14},
+ {&(_tg__ZTV5E17x1__7G17x1y7[3]), 3,4},
+ {&(_tg__ZTV3C17__5E17x1__7G17x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x1y7[];
+extern VTBL_ENTRY _ZTV7G17x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x1y7[];
+Class_Descriptor cd_G17x1y7 = { "G17x1y7", // class name
+ bases_G17x1y7, 6,
+ &(vtc_G17x1y7[0]), // expected_vtbl_contents
+ &(vtt_G17x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x1y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x1y7),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 E18x1 : virtual C18 , D1 {
+ int fd;
+ ~E18x1(); // tgen
+ E18x1(); // tgen
+};
+//SIG(-1 E18x1) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E18x1 ::~E18x1(){ note_dtor("E18x1", this);} // tgen
+E18x1 ::E18x1(){ note_ctor("E18x1", this);} // tgen
+
+static void Test_E18x1()
+{
+ extern Class_Descriptor cd_E18x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E18x1, buf);
+ E18x1 *dp, &lv = *(dp=new (buf) E18x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E18x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x1)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "E18x1");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "E18x1");
+ check_base_class_offset(lv, (C18*), ABISELECT(16,12), "E18x1");
+ check_base_class_offset(lv, (D1*), 0, "E18x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E18x1.fd");
+ test_class_info(&lv, &cd_E18x1);
+ dp->~E18x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x1(Test_E18x1, "E18x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E18x1C1Ev();
+extern void _ZN5E18x1D1Ev();
+Name_Map name_map_E18x1[] = {
+ NSPAIR(_ZN5E18x1C1Ev),
+ NSPAIR(_ZN5E18x1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E18x1[] = {
+ // 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(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_C18, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_E18x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x1[] = {
+ {&(_ZTV5E18x1[4]), 4,10},
+ {&(_ZTV5E18x1[9]), 9,10},
+ {&(_tg__ZTV3C18__5E18x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+Class_Descriptor cd_E18x1 = { "E18x1", // class name
+ bases_E18x1, 4,
+ &(vtc_E18x1[0]), // expected_vtbl_contents
+ &(vtt_E18x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E18x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x1),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 G18x1y0 : E18x1 , F1 {
+ int ff;
+ ~G18x1y0(); // tgen
+ G18x1y0(); // tgen
+};
+//SIG(1 G18x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x1y0 ::~G18x1y0(){ note_dtor("G18x1y0", this);} // tgen
+G18x1y0 ::G18x1y0(){ note_ctor("G18x1y0", this);} // tgen
+
+static void Test_G18x1y0()
+{
+ extern Class_Descriptor cd_G18x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x1y0, buf);
+ G18x1y0 *dp, &lv = *(dp=new (buf) G18x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y0)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x1y0");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x1y0");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(32,24), "G18x1y0");
+ check_base_class_offset(lv, (D1*)(E18x1*), 0, "G18x1y0");
+ check_base_class_offset(lv, (E18x1*), 0, "G18x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G18x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G18x1y0.ff");
+ test_class_info(&lv, &cd_G18x1y0);
+ dp->~G18x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y0(Test_G18x1y0, "G18x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y0C1Ev();
+extern void _ZN7G18x1y0D1Ev();
+Name_Map name_map_G18x1y0[] = {
+ NSPAIR(_ZN7G18x1y0C1Ev),
+ NSPAIR(_ZN7G18x1y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x1y0[] = {
+ // 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(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, 0},
+ {&cd_C18, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E18x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y0[] = {
+ {&(_ZTV7G18x1y0[4]), 4,13},
+ {&(_tg__ZTV5E18x1__7G18x1y0[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y0[4]), 4,5},
+ {&(_ZTV7G18x1y0[12]), 12,13},
+ {&(_tg__ZTV3C18__7G18x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y0[];
+extern VTBL_ENTRY _ZTV7G18x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y0[];
+Class_Descriptor cd_G18x1y0 = { "G18x1y0", // class name
+ bases_G18x1y0, 6,
+ &(vtc_G18x1y0[0]), // expected_vtbl_contents
+ &(vtt_G18x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y0),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 G18x1y1 : virtual E18x1 , F1 {
+ int ff;
+ ~G18x1y1(); // tgen
+ G18x1y1(); // tgen
+};
+//SIG(1 G18x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x1y1 ::~G18x1y1(){ note_dtor("G18x1y1", this);} // tgen
+G18x1y1 ::G18x1y1(){ note_ctor("G18x1y1", this);} // tgen
+
+static void Test_G18x1y1()
+{
+ extern Class_Descriptor cd_G18x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x1y1, buf);
+ G18x1y1 *dp, &lv = *(dp=new (buf) G18x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y1)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x1y1");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x1y1");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(32,24), "G18x1y1");
+ check_base_class_offset(lv, (D1*)(E18x1*), ABISELECT(16,12), "G18x1y1");
+ check_base_class_offset(lv, (E18x1*), ABISELECT(16,12), "G18x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x1y1.ff");
+ test_class_info(&lv, &cd_G18x1y1);
+ dp->~G18x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y1(Test_G18x1y1, "G18x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y1C1Ev();
+extern void _ZN7G18x1y1D1Ev();
+Name_Map name_map_G18x1y1[] = {
+ NSPAIR(_ZN7G18x1y1C1Ev),
+ NSPAIR(_ZN7G18x1y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x1y1[] = {
+ // 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(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, 0},
+ {&cd_C18, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E18x1, 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 _ZTI7G18x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y1[] = {
+ {&(_ZTV7G18x1y1[5]), 5,17},
+ {&(_ZTV7G18x1y1[11]), 11,17},
+ {&(_ZTV7G18x1y1[16]), 16,17},
+ {&(_tg__ZTV5E18x1__7G18x1y1[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y1[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y1[];
+extern VTBL_ENTRY _ZTV7G18x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y1[];
+Class_Descriptor cd_G18x1y1 = { "G18x1y1", // class name
+ bases_G18x1y1, 6,
+ &(vtc_G18x1y1[0]), // expected_vtbl_contents
+ &(vtt_G18x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y1),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 G18x1y2 : E18x1 , virtual F1 {
+ int ff;
+ ~G18x1y2(); // tgen
+ G18x1y2(); // tgen
+};
+//SIG(1 G18x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x1y2 ::~G18x1y2(){ note_dtor("G18x1y2", this);} // tgen
+G18x1y2 ::G18x1y2(){ note_ctor("G18x1y2", this);} // tgen
+
+static void Test_G18x1y2()
+{
+ extern Class_Descriptor cd_G18x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x1y2, buf);
+ G18x1y2 *dp, &lv = *(dp=new (buf) G18x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y2)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x1y2");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x1y2");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(24,16), "G18x1y2");
+ check_base_class_offset(lv, (D1*)(E18x1*), 0, "G18x1y2");
+ check_base_class_offset(lv, (E18x1*), 0, "G18x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G18x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x1y2.ff");
+ test_class_info(&lv, &cd_G18x1y2);
+ dp->~G18x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y2(Test_G18x1y2, "G18x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y2C1Ev();
+extern void _ZN7G18x1y2D1Ev();
+Name_Map name_map_G18x1y2[] = {
+ NSPAIR(_ZN7G18x1y2C1Ev),
+ NSPAIR(_ZN7G18x1y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x1y2[] = {
+ // 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(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_C18, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E18x1, 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
+ 11, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y2[] = {
+ {&(_ZTV7G18x1y2[5]), 5,15},
+ {&(_tg__ZTV5E18x1__7G18x1y2[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y2[4]), 4,5},
+ {&(_ZTV7G18x1y2[10]), 10,15},
+ {&(_ZTV7G18x1y2[14]), 14,15},
+ {&(_tg__ZTV3C18__7G18x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y2[];
+extern VTBL_ENTRY _ZTV7G18x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y2[];
+Class_Descriptor cd_G18x1y2 = { "G18x1y2", // class name
+ bases_G18x1y2, 6,
+ &(vtc_G18x1y2[0]), // expected_vtbl_contents
+ &(vtt_G18x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y2),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 G18x1y3 : virtual E18x1 , virtual F1 {
+ int ff;
+ ~G18x1y3(); // tgen
+ G18x1y3(); // tgen
+};
+//SIG(1 G18x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x1y3 ::~G18x1y3(){ note_dtor("G18x1y3", this);} // tgen
+G18x1y3 ::G18x1y3(){ note_ctor("G18x1y3", this);} // tgen
+
+static void Test_G18x1y3()
+{
+ extern Class_Descriptor cd_G18x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x1y3, buf);
+ G18x1y3 *dp, &lv = *(dp=new (buf) G18x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y3)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x1y3");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x1y3");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(32,20), "G18x1y3");
+ check_base_class_offset(lv, (D1*)(E18x1*), ABISELECT(16,8), "G18x1y3");
+ check_base_class_offset(lv, (E18x1*), ABISELECT(16,8), "G18x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x1y3.ff");
+ test_class_info(&lv, &cd_G18x1y3);
+ dp->~G18x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y3(Test_G18x1y3, "G18x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y3C1Ev();
+extern void _ZN7G18x1y3D1Ev();
+Name_Map name_map_G18x1y3[] = {
+ NSPAIR(_ZN7G18x1y3C1Ev),
+ NSPAIR(_ZN7G18x1y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x1y3[] = {
+ // 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(40,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_C18, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E18x1, 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
+ 17, //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 _ZTI7G18x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y3[] = {
+ {&(_ZTV7G18x1y3[6]), 6,21},
+ {&(_ZTV7G18x1y3[11]), 11,21},
+ {&(_ZTV7G18x1y3[16]), 16,21},
+ {&(_ZTV7G18x1y3[20]), 20,21},
+ {&(_tg__ZTV5E18x1__7G18x1y3[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y3[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y3[];
+extern VTBL_ENTRY _ZTV7G18x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y3[];
+Class_Descriptor cd_G18x1y3 = { "G18x1y3", // class name
+ bases_G18x1y3, 6,
+ &(vtc_G18x1y3[0]), // expected_vtbl_contents
+ &(vtt_G18x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y3),7, //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 G18x1y4 : E18x1 , F0 {
+ int ff;
+ ~G18x1y4(); // tgen
+ G18x1y4(); // tgen
+};
+//SIG(1 G18x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x1y4 ::~G18x1y4(){ note_dtor("G18x1y4", this);} // tgen
+G18x1y4 ::G18x1y4(){ note_ctor("G18x1y4", this);} // tgen
+
+static void Test_G18x1y4()
+{
+ extern Class_Descriptor cd_G18x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x1y4, buf);
+ G18x1y4 *dp, &lv = *(dp=new (buf) G18x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y4)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,32), "G18x1y4");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,24), "G18x1y4");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(24,20), "G18x1y4");
+ check_base_class_offset(lv, (D1*)(E18x1*), 0, "G18x1y4");
+ check_base_class_offset(lv, (E18x1*), 0, "G18x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G18x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x1y4.ff");
+ test_class_info(&lv, &cd_G18x1y4);
+ dp->~G18x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y4(Test_G18x1y4, "G18x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y4C1Ev();
+extern void _ZN7G18x1y4D1Ev();
+Name_Map name_map_G18x1y4[] = {
+ NSPAIR(_ZN7G18x1y4C1Ev),
+ NSPAIR(_ZN7G18x1y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x1y4[] = {
+ // 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(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_C18, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E18x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y4[] = {
+ {&(_ZTV7G18x1y4[4]), 4,10},
+ {&(_tg__ZTV5E18x1__7G18x1y4[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y4[4]), 4,5},
+ {&(_ZTV7G18x1y4[9]), 9,10},
+ {&(_tg__ZTV3C18__7G18x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y4[];
+extern VTBL_ENTRY _ZTV7G18x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y4[];
+Class_Descriptor cd_G18x1y4 = { "G18x1y4", // class name
+ bases_G18x1y4, 6,
+ &(vtc_G18x1y4[0]), // expected_vtbl_contents
+ &(vtt_G18x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y4),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 G18x1y5 : virtual E18x1 , F0 {
+ int ff;
+ ~G18x1y5(); // tgen
+ G18x1y5(); // tgen
+};
+//SIG(1 G18x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x1y5 ::~G18x1y5(){ note_dtor("G18x1y5", this);} // tgen
+G18x1y5 ::G18x1y5(){ note_ctor("G18x1y5", this);} // tgen
+
+static void Test_G18x1y5()
+{
+ extern Class_Descriptor cd_G18x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x1y5, buf);
+ G18x1y5 *dp, &lv = *(dp=new (buf) G18x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y5)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x1y5");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x1y5");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(32,24), "G18x1y5");
+ check_base_class_offset(lv, (D1*)(E18x1*), ABISELECT(16,12), "G18x1y5");
+ check_base_class_offset(lv, (E18x1*), ABISELECT(16,12), "G18x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x1y5.ff");
+ test_class_info(&lv, &cd_G18x1y5);
+ dp->~G18x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y5(Test_G18x1y5, "G18x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y5C1Ev();
+extern void _ZN7G18x1y5D1Ev();
+Name_Map name_map_G18x1y5[] = {
+ NSPAIR(_ZN7G18x1y5C1Ev),
+ NSPAIR(_ZN7G18x1y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x1y5[] = {
+ // 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(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, 0},
+ {&cd_C18, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E18x1, 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 _ZTI7G18x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y5[] = {
+ {&(_ZTV7G18x1y5[5]), 5,16},
+ {&(_ZTV7G18x1y5[10]), 10,16},
+ {&(_ZTV7G18x1y5[15]), 15,16},
+ {&(_tg__ZTV5E18x1__7G18x1y5[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y5[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y5[];
+extern VTBL_ENTRY _ZTV7G18x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y5[];
+Class_Descriptor cd_G18x1y5 = { "G18x1y5", // class name
+ bases_G18x1y5, 6,
+ &(vtc_G18x1y5[0]), // expected_vtbl_contents
+ &(vtt_G18x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y5),6, //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 G18x1y6 : E18x1 , virtual F0 {
+ int ff;
+ ~G18x1y6(); // tgen
+ G18x1y6(); // tgen
+};
+//SIG(1 G18x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x1y6 ::~G18x1y6(){ note_dtor("G18x1y6", this);} // tgen
+G18x1y6 ::G18x1y6(){ note_ctor("G18x1y6", this);} // tgen
+
+static void Test_G18x1y6()
+{
+ extern Class_Descriptor cd_G18x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x1y6, buf);
+ G18x1y6 *dp, &lv = *(dp=new (buf) G18x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y6)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x1y6");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x1y6");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(24,16), "G18x1y6");
+ check_base_class_offset(lv, (D1*)(E18x1*), 0, "G18x1y6");
+ check_base_class_offset(lv, (E18x1*), 0, "G18x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G18x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x1y6.ff");
+ test_class_info(&lv, &cd_G18x1y6);
+ dp->~G18x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y6(Test_G18x1y6, "G18x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y6C1Ev();
+extern void _ZN7G18x1y6D1Ev();
+Name_Map name_map_G18x1y6[] = {
+ NSPAIR(_ZN7G18x1y6C1Ev),
+ NSPAIR(_ZN7G18x1y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x1y6[] = {
+ // 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(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_C18, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E18x1, 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 _ZTI7G18x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y6[] = {
+ {&(_ZTV7G18x1y6[5]), 5,11},
+ {&(_tg__ZTV5E18x1__7G18x1y6[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y6[4]), 4,5},
+ {&(_ZTV7G18x1y6[10]), 10,11},
+ {&(_tg__ZTV3C18__7G18x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y6[];
+extern VTBL_ENTRY _ZTV7G18x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y6[];
+Class_Descriptor cd_G18x1y6 = { "G18x1y6", // class name
+ bases_G18x1y6, 6,
+ &(vtc_G18x1y6[0]), // expected_vtbl_contents
+ &(vtt_G18x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y6),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 G18x1y7 : virtual E18x1 , virtual F0 {
+ int ff;
+ ~G18x1y7(); // tgen
+ G18x1y7(); // tgen
+};
+//SIG(1 G18x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x1y7 ::~G18x1y7(){ note_dtor("G18x1y7", this);} // tgen
+G18x1y7 ::G18x1y7(){ note_ctor("G18x1y7", this);} // tgen
+
+static void Test_G18x1y7()
+{
+ extern Class_Descriptor cd_G18x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x1y7, buf);
+ G18x1y7 *dp, &lv = *(dp=new (buf) G18x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x1y7)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x1y7");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x1y7");
+ check_base_class_offset(lv, (C18*)(E18x1*), ABISELECT(32,20), "G18x1y7");
+ check_base_class_offset(lv, (D1*)(E18x1*), ABISELECT(16,8), "G18x1y7");
+ check_base_class_offset(lv, (E18x1*), ABISELECT(16,8), "G18x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G18x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x1y7.ff");
+ test_class_info(&lv, &cd_G18x1y7);
+ dp->~G18x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x1y7(Test_G18x1y7, "G18x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x1y7C1Ev();
+extern void _ZN7G18x1y7D1Ev();
+Name_Map name_map_G18x1y7[] = {
+ NSPAIR(_ZN7G18x1y7C1Ev),
+ NSPAIR(_ZN7G18x1y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x1;
+extern VTBL_ENTRY _ZTI5E18x1[];
+extern VTBL_ENTRY _ZTV5E18x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x1y7[] = {
+ // 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(40,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_C18, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E18x1, 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(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 _ZTI7G18x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x1__7G18x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x1__7G18x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x1y7[] = {
+ {&(_ZTV7G18x1y7[6]), 6,17},
+ {&(_ZTV7G18x1y7[11]), 11,17},
+ {&(_ZTV7G18x1y7[16]), 16,17},
+ {&(_tg__ZTV5E18x1__7G18x1y7[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x1__7G18x1y7[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x1y7[];
+extern VTBL_ENTRY _ZTV7G18x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x1y7[];
+Class_Descriptor cd_G18x1y7 = { "G18x1y7", // class name
+ bases_G18x1y7, 6,
+ &(vtc_G18x1y7[0]), // expected_vtbl_contents
+ &(vtt_G18x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x1y7),6, //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 E19x1 : virtual C19 , D1 {
+ int fd;
+ ~E19x1(); // tgen
+ E19x1(); // tgen
+};
+//SIG(-1 E19x1) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E19x1 ::~E19x1(){ note_dtor("E19x1", this);} // tgen
+E19x1 ::E19x1(){ note_ctor("E19x1", this);} // tgen
+
+static void Test_E19x1()
+{
+ extern Class_Descriptor cd_E19x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E19x1, buf);
+ E19x1 *dp, &lv = *(dp=new (buf) E19x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E19x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x1)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "E19x1");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "E19x1");
+ check_base_class_offset(lv, (C19*), ABISELECT(16,12), "E19x1");
+ check_base_class_offset(lv, (D1*), 0, "E19x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E19x1.fd");
+ test_class_info(&lv, &cd_E19x1);
+ dp->~E19x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x1(Test_E19x1, "E19x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E19x1C1Ev();
+extern void _ZN5E19x1D1Ev();
+Name_Map name_map_E19x1[] = {
+ NSPAIR(_ZN5E19x1C1Ev),
+ NSPAIR(_ZN5E19x1D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E19x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 10, //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_C19, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern void _ZN2D13fooEv();
+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_E19x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__5E19x1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x1[] = {
+ {&(_ZTV5E19x1[4]), 4,14},
+ {&(_ZTV5E19x1[9]), 9,14},
+ {&(_ZTV5E19x1[13]), 13,14},
+ {&(_tg__ZTV3C19__5E19x1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+static VTBL_ENTRY alt_thunk_names71[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E19x1 = { "E19x1", // class name
+ bases_E19x1, 4,
+ &(vtc_E19x1[0]), // expected_vtbl_contents
+ &(vtt_E19x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E19x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x1),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names71,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y0 : E19x1 , F1 {
+ int ff;
+ ~G19x1y0(); // tgen
+ G19x1y0(); // tgen
+};
+//SIG(1 G19x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x1y0 ::~G19x1y0(){ note_dtor("G19x1y0", this);} // tgen
+G19x1y0 ::G19x1y0(){ note_ctor("G19x1y0", this);} // tgen
+
+static void Test_G19x1y0()
+{
+ extern Class_Descriptor cd_G19x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x1y0, buf);
+ G19x1y0 *dp, &lv = *(dp=new (buf) G19x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y0)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x1y0");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x1y0");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(32,24), "G19x1y0");
+ check_base_class_offset(lv, (D1*)(E19x1*), 0, "G19x1y0");
+ check_base_class_offset(lv, (E19x1*), 0, "G19x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G19x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G19x1y0.ff");
+ test_class_info(&lv, &cd_G19x1y0);
+ dp->~G19x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y0(Test_G19x1y0, "G19x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y0C1Ev();
+extern void _ZN7G19x1y0D1Ev();
+Name_Map name_map_G19x1y0[] = {
+ NSPAIR(_ZN7G19x1y0C1Ev),
+ NSPAIR(_ZN7G19x1y0D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x1y0[] = {
+ // 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)
+ 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(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, 0},
+ {&cd_C19, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G19x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y0[] = {
+ {&(_ZTV7G19x1y0[4]), 4,17},
+ {&(_tg__ZTV5E19x1__7G19x1y0[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y0[3]), 3,4},
+ {&(_ZTV7G19x1y0[12]), 12,17},
+ {&(_ZTV7G19x1y0[16]), 16,17},
+ {&(_tg__ZTV3C19__7G19x1y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y0[];
+extern VTBL_ENTRY _ZTV7G19x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y0[];
+static VTBL_ENTRY alt_thunk_names72[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y0 = { "G19x1y0", // class name
+ bases_G19x1y0, 6,
+ &(vtc_G19x1y0[0]), // expected_vtbl_contents
+ &(vtt_G19x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names72,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y1 : virtual E19x1 , F1 {
+ int ff;
+ ~G19x1y1(); // tgen
+ G19x1y1(); // tgen
+};
+//SIG(1 G19x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x1y1 ::~G19x1y1(){ note_dtor("G19x1y1", this);} // tgen
+G19x1y1 ::G19x1y1(){ note_ctor("G19x1y1", this);} // tgen
+
+static void Test_G19x1y1()
+{
+ extern Class_Descriptor cd_G19x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x1y1, buf);
+ G19x1y1 *dp, &lv = *(dp=new (buf) G19x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y1)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x1y1");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x1y1");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(32,24), "G19x1y1");
+ check_base_class_offset(lv, (D1*)(E19x1*), ABISELECT(16,12), "G19x1y1");
+ check_base_class_offset(lv, (E19x1*), ABISELECT(16,12), "G19x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x1y1.ff");
+ test_class_info(&lv, &cd_G19x1y1);
+ dp->~G19x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y1(Test_G19x1y1, "G19x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y1C1Ev();
+extern void _ZN7G19x1y1D1Ev();
+Name_Map name_map_G19x1y1[] = {
+ NSPAIR(_ZN7G19x1y1C1Ev),
+ NSPAIR(_ZN7G19x1y1D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 17, //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(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, 0},
+ {&cd_C19, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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 _ZTI7G19x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G19x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y1[] = {
+ {&(_ZTV7G19x1y1[5]), 5,21},
+ {&(_ZTV7G19x1y1[11]), 11,21},
+ {&(_ZTV7G19x1y1[16]), 16,21},
+ {&(_ZTV7G19x1y1[20]), 20,21},
+ {&(_tg__ZTV5E19x1__7G19x1y1[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y1[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x1y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y1[];
+extern VTBL_ENTRY _ZTV7G19x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y1[];
+static VTBL_ENTRY alt_thunk_names73[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y1 = { "G19x1y1", // class name
+ bases_G19x1y1, 6,
+ &(vtc_G19x1y1[0]), // expected_vtbl_contents
+ &(vtt_G19x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names73,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y2 : E19x1 , virtual F1 {
+ int ff;
+ ~G19x1y2(); // tgen
+ G19x1y2(); // tgen
+};
+//SIG(1 G19x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x1y2 ::~G19x1y2(){ note_dtor("G19x1y2", this);} // tgen
+G19x1y2 ::G19x1y2(){ note_ctor("G19x1y2", this);} // tgen
+
+static void Test_G19x1y2()
+{
+ extern Class_Descriptor cd_G19x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x1y2, buf);
+ G19x1y2 *dp, &lv = *(dp=new (buf) G19x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y2)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x1y2");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x1y2");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(24,16), "G19x1y2");
+ check_base_class_offset(lv, (D1*)(E19x1*), 0, "G19x1y2");
+ check_base_class_offset(lv, (E19x1*), 0, "G19x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x1y2.ff");
+ test_class_info(&lv, &cd_G19x1y2);
+ dp->~G19x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y2(Test_G19x1y2, "G19x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y2C1Ev();
+extern void _ZN7G19x1y2D1Ev();
+Name_Map name_map_G19x1y2[] = {
+ NSPAIR(_ZN7G19x1y2C1Ev),
+ NSPAIR(_ZN7G19x1y2D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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(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_C19, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y2[] = {
+ {&(_ZTV7G19x1y2[5]), 5,19},
+ {&(_tg__ZTV5E19x1__7G19x1y2[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y2[3]), 3,4},
+ {&(_ZTV7G19x1y2[10]), 10,19},
+ {&(_ZTV7G19x1y2[14]), 14,19},
+ {&(_ZTV7G19x1y2[18]), 18,19},
+ {&(_tg__ZTV3C19__7G19x1y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y2[];
+extern VTBL_ENTRY _ZTV7G19x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y2[];
+static VTBL_ENTRY alt_thunk_names74[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y2 = { "G19x1y2", // class name
+ bases_G19x1y2, 6,
+ &(vtc_G19x1y2[0]), // expected_vtbl_contents
+ &(vtt_G19x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names74,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y3 : virtual E19x1 , virtual F1 {
+ int ff;
+ ~G19x1y3(); // tgen
+ G19x1y3(); // tgen
+};
+//SIG(1 G19x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x1y3 ::~G19x1y3(){ note_dtor("G19x1y3", this);} // tgen
+G19x1y3 ::G19x1y3(){ note_ctor("G19x1y3", this);} // tgen
+
+static void Test_G19x1y3()
+{
+ extern Class_Descriptor cd_G19x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x1y3, buf);
+ G19x1y3 *dp, &lv = *(dp=new (buf) G19x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y3)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x1y3");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x1y3");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(32,20), "G19x1y3");
+ check_base_class_offset(lv, (D1*)(E19x1*), ABISELECT(16,8), "G19x1y3");
+ check_base_class_offset(lv, (E19x1*), ABISELECT(16,8), "G19x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G19x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x1y3.ff");
+ test_class_info(&lv, &cd_G19x1y3);
+ dp->~G19x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y3(Test_G19x1y3, "G19x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y3C1Ev();
+extern void _ZN7G19x1y3D1Ev();
+Name_Map name_map_G19x1y3[] = {
+ NSPAIR(_ZN7G19x1y3C1Ev),
+ NSPAIR(_ZN7G19x1y3D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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(40,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_C19, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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
+ 21, //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 _ZTI7G19x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y3[] = {
+ {&(_ZTV7G19x1y3[6]), 6,25},
+ {&(_ZTV7G19x1y3[11]), 11,25},
+ {&(_ZTV7G19x1y3[16]), 16,25},
+ {&(_ZTV7G19x1y3[20]), 20,25},
+ {&(_ZTV7G19x1y3[24]), 24,25},
+ {&(_tg__ZTV5E19x1__7G19x1y3[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y3[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x1y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y3[];
+extern VTBL_ENTRY _ZTV7G19x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y3[];
+static VTBL_ENTRY alt_thunk_names75[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y3 = { "G19x1y3", // class name
+ bases_G19x1y3, 6,
+ &(vtc_G19x1y3[0]), // expected_vtbl_contents
+ &(vtt_G19x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names75,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y4 : E19x1 , F0 {
+ int ff;
+ ~G19x1y4(); // tgen
+ G19x1y4(); // tgen
+};
+//SIG(1 G19x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x1y4 ::~G19x1y4(){ note_dtor("G19x1y4", this);} // tgen
+G19x1y4 ::G19x1y4(){ note_ctor("G19x1y4", this);} // tgen
+
+static void Test_G19x1y4()
+{
+ extern Class_Descriptor cd_G19x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x1y4, buf);
+ G19x1y4 *dp, &lv = *(dp=new (buf) G19x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y4)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,32), "G19x1y4");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,24), "G19x1y4");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(24,20), "G19x1y4");
+ check_base_class_offset(lv, (D1*)(E19x1*), 0, "G19x1y4");
+ check_base_class_offset(lv, (E19x1*), 0, "G19x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G19x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x1y4.ff");
+ test_class_info(&lv, &cd_G19x1y4);
+ dp->~G19x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y4(Test_G19x1y4, "G19x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y4C1Ev();
+extern void _ZN7G19x1y4D1Ev();
+Name_Map name_map_G19x1y4[] = {
+ NSPAIR(_ZN7G19x1y4C1Ev),
+ NSPAIR(_ZN7G19x1y4D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //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(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_C19, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x1y4[];
+extern void _ZN2D13fooEv();
+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_G19x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y4[] = {
+ {&(_ZTV7G19x1y4[4]), 4,14},
+ {&(_tg__ZTV5E19x1__7G19x1y4[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y4[3]), 3,4},
+ {&(_ZTV7G19x1y4[9]), 9,14},
+ {&(_ZTV7G19x1y4[13]), 13,14},
+ {&(_tg__ZTV3C19__7G19x1y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y4[];
+extern VTBL_ENTRY _ZTV7G19x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y4[];
+static VTBL_ENTRY alt_thunk_names76[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y4 = { "G19x1y4", // class name
+ bases_G19x1y4, 6,
+ &(vtc_G19x1y4[0]), // expected_vtbl_contents
+ &(vtt_G19x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names76,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y5 : virtual E19x1 , F0 {
+ int ff;
+ ~G19x1y5(); // tgen
+ G19x1y5(); // tgen
+};
+//SIG(1 G19x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x1y5 ::~G19x1y5(){ note_dtor("G19x1y5", this);} // tgen
+G19x1y5 ::G19x1y5(){ note_ctor("G19x1y5", this);} // tgen
+
+static void Test_G19x1y5()
+{
+ extern Class_Descriptor cd_G19x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x1y5, buf);
+ G19x1y5 *dp, &lv = *(dp=new (buf) G19x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y5)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x1y5");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x1y5");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(32,24), "G19x1y5");
+ check_base_class_offset(lv, (D1*)(E19x1*), ABISELECT(16,12), "G19x1y5");
+ check_base_class_offset(lv, (E19x1*), ABISELECT(16,12), "G19x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x1y5.ff");
+ test_class_info(&lv, &cd_G19x1y5);
+ dp->~G19x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y5(Test_G19x1y5, "G19x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y5C1Ev();
+extern void _ZN7G19x1y5D1Ev();
+Name_Map name_map_G19x1y5[] = {
+ NSPAIR(_ZN7G19x1y5C1Ev),
+ NSPAIR(_ZN7G19x1y5D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 16, //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(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, 0},
+ {&cd_C19, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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 _ZTI7G19x1y5[];
+extern void _ZN2D13fooEv();
+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_G19x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y5[] = {
+ {&(_ZTV7G19x1y5[5]), 5,20},
+ {&(_ZTV7G19x1y5[10]), 10,20},
+ {&(_ZTV7G19x1y5[15]), 15,20},
+ {&(_ZTV7G19x1y5[19]), 19,20},
+ {&(_tg__ZTV5E19x1__7G19x1y5[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y5[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x1y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y5[];
+extern VTBL_ENTRY _ZTV7G19x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y5[];
+static VTBL_ENTRY alt_thunk_names77[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y5 = { "G19x1y5", // class name
+ bases_G19x1y5, 6,
+ &(vtc_G19x1y5[0]), // expected_vtbl_contents
+ &(vtt_G19x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names77,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y6 : E19x1 , virtual F0 {
+ int ff;
+ ~G19x1y6(); // tgen
+ G19x1y6(); // tgen
+};
+//SIG(1 G19x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x1y6 ::~G19x1y6(){ note_dtor("G19x1y6", this);} // tgen
+G19x1y6 ::G19x1y6(){ note_ctor("G19x1y6", this);} // tgen
+
+static void Test_G19x1y6()
+{
+ extern Class_Descriptor cd_G19x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x1y6, buf);
+ G19x1y6 *dp, &lv = *(dp=new (buf) G19x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y6)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x1y6");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x1y6");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(24,16), "G19x1y6");
+ check_base_class_offset(lv, (D1*)(E19x1*), 0, "G19x1y6");
+ check_base_class_offset(lv, (E19x1*), 0, "G19x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G19x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x1y6.ff");
+ test_class_info(&lv, &cd_G19x1y6);
+ dp->~G19x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y6(Test_G19x1y6, "G19x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y6C1Ev();
+extern void _ZN7G19x1y6D1Ev();
+Name_Map name_map_G19x1y6[] = {
+ NSPAIR(_ZN7G19x1y6C1Ev),
+ NSPAIR(_ZN7G19x1y6D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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(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_C19, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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 _ZTI7G19x1y6[];
+extern void _ZN2D13fooEv();
+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_G19x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y6[] = {
+ {&(_ZTV7G19x1y6[5]), 5,15},
+ {&(_tg__ZTV5E19x1__7G19x1y6[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y6[3]), 3,4},
+ {&(_ZTV7G19x1y6[10]), 10,15},
+ {&(_ZTV7G19x1y6[14]), 14,15},
+ {&(_tg__ZTV3C19__7G19x1y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y6[];
+extern VTBL_ENTRY _ZTV7G19x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y6[];
+static VTBL_ENTRY alt_thunk_names78[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y6 = { "G19x1y6", // class name
+ bases_G19x1y6, 6,
+ &(vtc_G19x1y6[0]), // expected_vtbl_contents
+ &(vtt_G19x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names78,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x1y7 : virtual E19x1 , virtual F0 {
+ int ff;
+ ~G19x1y7(); // tgen
+ G19x1y7(); // tgen
+};
+//SIG(1 G19x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x1y7 ::~G19x1y7(){ note_dtor("G19x1y7", this);} // tgen
+G19x1y7 ::G19x1y7(){ note_ctor("G19x1y7", this);} // tgen
+
+static void Test_G19x1y7()
+{
+ extern Class_Descriptor cd_G19x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x1y7, buf);
+ G19x1y7 *dp, &lv = *(dp=new (buf) G19x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x1y7)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x1y7");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x1y7");
+ check_base_class_offset(lv, (C19*)(E19x1*), ABISELECT(32,20), "G19x1y7");
+ check_base_class_offset(lv, (D1*)(E19x1*), ABISELECT(16,8), "G19x1y7");
+ check_base_class_offset(lv, (E19x1*), ABISELECT(16,8), "G19x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G19x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x1y7.ff");
+ test_class_info(&lv, &cd_G19x1y7);
+ dp->~G19x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x1y7(Test_G19x1y7, "G19x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x1y7C1Ev();
+extern void _ZN7G19x1y7D1Ev();
+Name_Map name_map_G19x1y7[] = {
+ NSPAIR(_ZN7G19x1y7C1Ev),
+ NSPAIR(_ZN7G19x1y7D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x1;
+extern VTBL_ENTRY _ZTI5E19x1[];
+extern VTBL_ENTRY _ZTV5E19x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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(40,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_C19, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E19x1, 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(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 _ZTI7G19x1y7[];
+extern void _ZN2D13fooEv();
+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_G19x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x1__7G19x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x1__7G19x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x1__7G19x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x1y7[] = {
+ {&(_ZTV7G19x1y7[6]), 6,21},
+ {&(_ZTV7G19x1y7[11]), 11,21},
+ {&(_ZTV7G19x1y7[16]), 16,21},
+ {&(_ZTV7G19x1y7[20]), 20,21},
+ {&(_tg__ZTV5E19x1__7G19x1y7[4]), 4,5},
+ {&(_tg__ZTV3C19__5E19x1__7G19x1y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x1__7G19x1y7[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x1y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x1y7[];
+extern VTBL_ENTRY _ZTV7G19x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x1y7[];
+static VTBL_ENTRY alt_thunk_names79[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x1y7 = { "G19x1y7", // class name
+ bases_G19x1y7, 6,
+ &(vtc_G19x1y7[0]), // expected_vtbl_contents
+ &(vtt_G19x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x1y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names79,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x1 : virtual C20 , D1 {
+ int fd;
+ ~E20x1(); // tgen
+ E20x1(); // tgen
+};
+//SIG(-1 E20x1) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E20x1 ::~E20x1(){ note_dtor("E20x1", this);} // tgen
+E20x1 ::E20x1(){ note_ctor("E20x1", this);} // tgen
+
+static void Test_E20x1()
+{
+ extern Class_Descriptor cd_E20x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E20x1, buf);
+ E20x1 *dp, &lv = *(dp=new (buf) E20x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E20x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x1)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "E20x1");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "E20x1");
+ check_base_class_offset(lv, (C20*), ABISELECT(16,12), "E20x1");
+ check_base_class_offset(lv, (D1*), 0, "E20x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E20x1.fd");
+ test_class_info(&lv, &cd_E20x1);
+ dp->~E20x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x1(Test_E20x1, "E20x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E20x1C1Ev();
+extern void _ZN5E20x1D1Ev();
+Name_Map name_map_E20x1[] = {
+ NSPAIR(_ZN5E20x1C1Ev),
+ NSPAIR(_ZN5E20x1D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E20x1[] = {
+ // 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_C20, 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_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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_E20x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x1[];
+static VTT_ENTRY vtt_E20x1[] = {
+ {&(_ZTV5E20x1[3]), 3,8},
+ {&(_ZTV5E20x1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+Class_Descriptor cd_E20x1 = { "E20x1", // class name
+ bases_E20x1, 4,
+ &(vtc_E20x1[0]), // expected_vtbl_contents
+ &(vtt_E20x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E20x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x1),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 G20x1y0 : E20x1 , F1 {
+ int ff;
+ ~G20x1y0(); // tgen
+ G20x1y0(); // tgen
+};
+//SIG(1 G20x1y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x1y0 ::~G20x1y0(){ note_dtor("G20x1y0", this);} // tgen
+G20x1y0 ::G20x1y0(){ note_ctor("G20x1y0", this);} // tgen
+
+static void Test_G20x1y0()
+{
+ extern Class_Descriptor cd_G20x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x1y0, buf);
+ G20x1y0 *dp, &lv = *(dp=new (buf) G20x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y0)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x1y0");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x1y0");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(32,24), "G20x1y0");
+ check_base_class_offset(lv, (D1*)(E20x1*), 0, "G20x1y0");
+ check_base_class_offset(lv, (E20x1*), 0, "G20x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G20x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G20x1y0.ff");
+ test_class_info(&lv, &cd_G20x1y0);
+ dp->~G20x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y0(Test_G20x1y0, "G20x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y0C1Ev();
+extern void _ZN7G20x1y0D1Ev();
+Name_Map name_map_G20x1y0[] = {
+ NSPAIR(_ZN7G20x1y0C1Ev),
+ NSPAIR(_ZN7G20x1y0D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y0[] = {
+ {&(_ZTV7G20x1y0[3]), 3,11},
+ {&(_tg__ZTV5E20x1__7G20x1y0[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y0[3]), 3,4},
+ {&(_ZTV7G20x1y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x1y0[];
+extern VTBL_ENTRY _ZTV7G20x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y0[];
+Class_Descriptor cd_G20x1y0 = { "G20x1y0", // class name
+ bases_G20x1y0, 6,
+ &(vtc_G20x1y0[0]), // expected_vtbl_contents
+ &(vtt_G20x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y0),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 G20x1y1 : virtual E20x1 , F1 {
+ int ff;
+ ~G20x1y1(); // tgen
+ G20x1y1(); // tgen
+};
+//SIG(1 G20x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x1y1 ::~G20x1y1(){ note_dtor("G20x1y1", this);} // tgen
+G20x1y1 ::G20x1y1(){ note_ctor("G20x1y1", this);} // tgen
+
+static void Test_G20x1y1()
+{
+ extern Class_Descriptor cd_G20x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x1y1, buf);
+ G20x1y1 *dp, &lv = *(dp=new (buf) G20x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y1)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x1y1");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x1y1");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(32,24), "G20x1y1");
+ check_base_class_offset(lv, (D1*)(E20x1*), ABISELECT(16,12), "G20x1y1");
+ check_base_class_offset(lv, (E20x1*), ABISELECT(16,12), "G20x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x1y1.ff");
+ test_class_info(&lv, &cd_G20x1y1);
+ dp->~G20x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y1(Test_G20x1y1, "G20x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y1C1Ev();
+extern void _ZN7G20x1y1D1Ev();
+Name_Map name_map_G20x1y1[] = {
+ NSPAIR(_ZN7G20x1y1C1Ev),
+ NSPAIR(_ZN7G20x1y1D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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 _ZTI7G20x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y1[] = {
+ {&(_ZTV7G20x1y1[4]), 4,14},
+ {&(_ZTV7G20x1y1[9]), 9,14},
+ {&(_ZTV7G20x1y1[13]), 13,14},
+ {&(_tg__ZTV5E20x1__7G20x1y1[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x1y1[];
+extern VTBL_ENTRY _ZTV7G20x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y1[];
+Class_Descriptor cd_G20x1y1 = { "G20x1y1", // class name
+ bases_G20x1y1, 6,
+ &(vtc_G20x1y1[0]), // expected_vtbl_contents
+ &(vtt_G20x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y1),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 G20x1y2 : E20x1 , virtual F1 {
+ int ff;
+ ~G20x1y2(); // tgen
+ G20x1y2(); // tgen
+};
+//SIG(1 G20x1y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x1y2 ::~G20x1y2(){ note_dtor("G20x1y2", this);} // tgen
+G20x1y2 ::G20x1y2(){ note_ctor("G20x1y2", this);} // tgen
+
+static void Test_G20x1y2()
+{
+ extern Class_Descriptor cd_G20x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x1y2, buf);
+ G20x1y2 *dp, &lv = *(dp=new (buf) G20x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y2)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x1y2");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x1y2");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(24,16), "G20x1y2");
+ check_base_class_offset(lv, (D1*)(E20x1*), 0, "G20x1y2");
+ check_base_class_offset(lv, (E20x1*), 0, "G20x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x1y2.ff");
+ test_class_info(&lv, &cd_G20x1y2);
+ dp->~G20x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y2(Test_G20x1y2, "G20x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y2C1Ev();
+extern void _ZN7G20x1y2D1Ev();
+Name_Map name_map_G20x1y2[] = {
+ NSPAIR(_ZN7G20x1y2C1Ev),
+ NSPAIR(_ZN7G20x1y2D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x1y2[] = {
+ // 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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(48,32), //bcp->offset
+ 9, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y2[] = {
+ {&(_ZTV7G20x1y2[4]), 4,13},
+ {&(_tg__ZTV5E20x1__7G20x1y2[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y2[3]), 3,4},
+ {&(_ZTV7G20x1y2[8]), 8,13},
+ {&(_ZTV7G20x1y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G20x1y2[];
+extern VTBL_ENTRY _ZTV7G20x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y2[];
+Class_Descriptor cd_G20x1y2 = { "G20x1y2", // class name
+ bases_G20x1y2, 6,
+ &(vtc_G20x1y2[0]), // expected_vtbl_contents
+ &(vtt_G20x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y2),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 G20x1y3 : virtual E20x1 , virtual F1 {
+ int ff;
+ ~G20x1y3(); // tgen
+ G20x1y3(); // tgen
+};
+//SIG(1 G20x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x1y3 ::~G20x1y3(){ note_dtor("G20x1y3", this);} // tgen
+G20x1y3 ::G20x1y3(){ note_ctor("G20x1y3", this);} // tgen
+
+static void Test_G20x1y3()
+{
+ extern Class_Descriptor cd_G20x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x1y3, buf);
+ G20x1y3 *dp, &lv = *(dp=new (buf) G20x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y3)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x1y3");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x1y3");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(32,20), "G20x1y3");
+ check_base_class_offset(lv, (D1*)(E20x1*), ABISELECT(16,8), "G20x1y3");
+ check_base_class_offset(lv, (E20x1*), ABISELECT(16,8), "G20x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x1y3.ff");
+ test_class_info(&lv, &cd_G20x1y3);
+ dp->~G20x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y3(Test_G20x1y3, "G20x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y3C1Ev();
+extern void _ZN7G20x1y3D1Ev();
+Name_Map name_map_G20x1y3[] = {
+ NSPAIR(_ZN7G20x1y3C1Ev),
+ NSPAIR(_ZN7G20x1y3D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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
+ 14, //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 _ZTI7G20x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y3[] = {
+ {&(_ZTV7G20x1y3[5]), 5,18},
+ {&(_ZTV7G20x1y3[9]), 9,18},
+ {&(_ZTV7G20x1y3[13]), 13,18},
+ {&(_ZTV7G20x1y3[17]), 17,18},
+ {&(_tg__ZTV5E20x1__7G20x1y3[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x1y3[];
+extern VTBL_ENTRY _ZTV7G20x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y3[];
+Class_Descriptor cd_G20x1y3 = { "G20x1y3", // class name
+ bases_G20x1y3, 6,
+ &(vtc_G20x1y3[0]), // expected_vtbl_contents
+ &(vtt_G20x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y3),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 G20x1y4 : E20x1 , F0 {
+ int ff;
+ ~G20x1y4(); // tgen
+ G20x1y4(); // tgen
+};
+//SIG(1 G20x1y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x1y4 ::~G20x1y4(){ note_dtor("G20x1y4", this);} // tgen
+G20x1y4 ::G20x1y4(){ note_ctor("G20x1y4", this);} // tgen
+
+static void Test_G20x1y4()
+{
+ extern Class_Descriptor cd_G20x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x1y4, buf);
+ G20x1y4 *dp, &lv = *(dp=new (buf) G20x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y4)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,28), "G20x1y4");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,20), "G20x1y4");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(24,20), "G20x1y4");
+ check_base_class_offset(lv, (D1*)(E20x1*), 0, "G20x1y4");
+ check_base_class_offset(lv, (E20x1*), 0, "G20x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G20x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G20x1y4.ff");
+ test_class_info(&lv, &cd_G20x1y4);
+ dp->~G20x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y4(Test_G20x1y4, "G20x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y4C1Ev();
+extern void _ZN7G20x1y4D1Ev();
+Name_Map name_map_G20x1y4[] = {
+ NSPAIR(_ZN7G20x1y4C1Ev),
+ NSPAIR(_ZN7G20x1y4D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x1y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(24,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_C20, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y4[] = {
+ {&(_ZTV7G20x1y4[3]), 3,8},
+ {&(_tg__ZTV5E20x1__7G20x1y4[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y4[3]), 3,4},
+ {&(_ZTV7G20x1y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x1y4[];
+extern VTBL_ENTRY _ZTV7G20x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y4[];
+Class_Descriptor cd_G20x1y4 = { "G20x1y4", // class name
+ bases_G20x1y4, 6,
+ &(vtc_G20x1y4[0]), // expected_vtbl_contents
+ &(vtt_G20x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y4),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 G20x1y5 : virtual E20x1 , F0 {
+ int ff;
+ ~G20x1y5(); // tgen
+ G20x1y5(); // tgen
+};
+//SIG(1 G20x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x1y5 ::~G20x1y5(){ note_dtor("G20x1y5", this);} // tgen
+G20x1y5 ::G20x1y5(){ note_ctor("G20x1y5", this);} // tgen
+
+static void Test_G20x1y5()
+{
+ extern Class_Descriptor cd_G20x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x1y5, buf);
+ G20x1y5 *dp, &lv = *(dp=new (buf) G20x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y5)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x1y5");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x1y5");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(32,24), "G20x1y5");
+ check_base_class_offset(lv, (D1*)(E20x1*), ABISELECT(16,12), "G20x1y5");
+ check_base_class_offset(lv, (E20x1*), ABISELECT(16,12), "G20x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x1y5.ff");
+ test_class_info(&lv, &cd_G20x1y5);
+ dp->~G20x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y5(Test_G20x1y5, "G20x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y5C1Ev();
+extern void _ZN7G20x1y5D1Ev();
+Name_Map name_map_G20x1y5[] = {
+ NSPAIR(_ZN7G20x1y5C1Ev),
+ NSPAIR(_ZN7G20x1y5D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,24), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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 _ZTI7G20x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y5[] = {
+ {&(_ZTV7G20x1y5[4]), 4,13},
+ {&(_ZTV7G20x1y5[8]), 8,13},
+ {&(_ZTV7G20x1y5[12]), 12,13},
+ {&(_tg__ZTV5E20x1__7G20x1y5[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x1y5[];
+extern VTBL_ENTRY _ZTV7G20x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y5[];
+Class_Descriptor cd_G20x1y5 = { "G20x1y5", // class name
+ bases_G20x1y5, 6,
+ &(vtc_G20x1y5[0]), // expected_vtbl_contents
+ &(vtt_G20x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y5),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 G20x1y6 : E20x1 , virtual F0 {
+ int ff;
+ ~G20x1y6(); // tgen
+ G20x1y6(); // tgen
+};
+//SIG(1 G20x1y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x1y6 ::~G20x1y6(){ note_dtor("G20x1y6", this);} // tgen
+G20x1y6 ::G20x1y6(){ note_ctor("G20x1y6", this);} // tgen
+
+static void Test_G20x1y6()
+{
+ extern Class_Descriptor cd_G20x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x1y6, buf);
+ G20x1y6 *dp, &lv = *(dp=new (buf) G20x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y6)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x1y6");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x1y6");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(24,16), "G20x1y6");
+ check_base_class_offset(lv, (D1*)(E20x1*), 0, "G20x1y6");
+ check_base_class_offset(lv, (E20x1*), 0, "G20x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x1y6.ff");
+ test_class_info(&lv, &cd_G20x1y6);
+ dp->~G20x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y6(Test_G20x1y6, "G20x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y6C1Ev();
+extern void _ZN7G20x1y6D1Ev();
+Name_Map name_map_G20x1y6[] = {
+ NSPAIR(_ZN7G20x1y6C1Ev),
+ NSPAIR(_ZN7G20x1y6D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x1y6[] = {
+ // 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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(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 _ZTI7G20x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y6[] = {
+ {&(_ZTV7G20x1y6[4]), 4,9},
+ {&(_tg__ZTV5E20x1__7G20x1y6[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y6[3]), 3,4},
+ {&(_ZTV7G20x1y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G20x1y6[];
+extern VTBL_ENTRY _ZTV7G20x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y6[];
+Class_Descriptor cd_G20x1y6 = { "G20x1y6", // class name
+ bases_G20x1y6, 6,
+ &(vtc_G20x1y6[0]), // expected_vtbl_contents
+ &(vtt_G20x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y6),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 G20x1y7 : virtual E20x1 , virtual F0 {
+ int ff;
+ ~G20x1y7(); // tgen
+ G20x1y7(); // tgen
+};
+//SIG(1 G20x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x1y7 ::~G20x1y7(){ note_dtor("G20x1y7", this);} // tgen
+G20x1y7 ::G20x1y7(){ note_ctor("G20x1y7", this);} // tgen
+
+static void Test_G20x1y7()
+{
+ extern Class_Descriptor cd_G20x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x1y7, buf);
+ G20x1y7 *dp, &lv = *(dp=new (buf) G20x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x1y7)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x1y7");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x1y7");
+ check_base_class_offset(lv, (C20*)(E20x1*), ABISELECT(32,20), "G20x1y7");
+ check_base_class_offset(lv, (D1*)(E20x1*), ABISELECT(16,8), "G20x1y7");
+ check_base_class_offset(lv, (E20x1*), ABISELECT(16,8), "G20x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G20x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x1y7.ff");
+ test_class_info(&lv, &cd_G20x1y7);
+ dp->~G20x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x1y7(Test_G20x1y7, "G20x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x1y7C1Ev();
+extern void _ZN7G20x1y7D1Ev();
+Name_Map name_map_G20x1y7[] = {
+ NSPAIR(_ZN7G20x1y7C1Ev),
+ NSPAIR(_ZN7G20x1y7D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x1;
+extern VTBL_ENTRY _ZTI5E20x1[];
+extern VTBL_ENTRY _ZTV5E20x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x1, 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 _ZTI7G20x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x1__7G20x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x1__7G20x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x1y7[] = {
+ {&(_ZTV7G20x1y7[5]), 5,14},
+ {&(_ZTV7G20x1y7[9]), 9,14},
+ {&(_ZTV7G20x1y7[13]), 13,14},
+ {&(_tg__ZTV5E20x1__7G20x1y7[3]), 3,4},
+ {&(_tg__ZTV3C20__5E20x1__7G20x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x1y7[];
+extern VTBL_ENTRY _ZTV7G20x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x1y7[];
+Class_Descriptor cd_G20x1y7 = { "G20x1y7", // class name
+ bases_G20x1y7, 6,
+ &(vtc_G20x1y7[0]), // expected_vtbl_contents
+ &(vtt_G20x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x1y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x1y7),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 E21x1 : virtual C21 , D1 {
+ int fd;
+ ~E21x1(); // tgen
+ E21x1(); // tgen
+};
+//SIG(-1 E21x1) C1{ VBC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E21x1 ::~E21x1(){ note_dtor("E21x1", this);} // tgen
+E21x1 ::E21x1(){ note_ctor("E21x1", this);} // tgen
+
+static void Test_E21x1()
+{
+ extern Class_Descriptor cd_E21x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E21x1, buf);
+ E21x1 *dp, &lv = *(dp=new (buf) E21x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E21x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x1)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "E21x1");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "E21x1");
+ check_base_class_offset(lv, (C21*), ABISELECT(16,12), "E21x1");
+ check_base_class_offset(lv, (D1*), 0, "E21x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E21x1.fd");
+ test_class_info(&lv, &cd_E21x1);
+ dp->~E21x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x1(Test_E21x1, "E21x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E21x1C1Ev();
+extern void _ZN5E21x1D1Ev();
+Name_Map name_map_E21x1[] = {
+ NSPAIR(_ZN5E21x1C1Ev),
+ NSPAIR(_ZN5E21x1D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E21x1[] = {
+ // 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_C21, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_E21x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV5E21x1[];
+static VTT_ENTRY vtt_E21x1[] = {
+ {&(_ZTV5E21x1[3]), 3,11},
+ {&(_ZTV5E21x1[7]), 7,11},
+ {&(_ZTV5E21x1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+Class_Descriptor cd_E21x1 = { "E21x1", // class name
+ bases_E21x1, 4,
+ &(vtc_E21x1[0]), // expected_vtbl_contents
+ &(vtt_E21x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E21x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x1),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 G21x1y0 : E21x1 , F1 {
+ int ff;
+ ~G21x1y0(); // tgen
+ G21x1y0(); // tgen
+};
+//SIG(1 G21x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x1y0 ::~G21x1y0(){ note_dtor("G21x1y0", this);} // tgen
+G21x1y0 ::G21x1y0(){ note_ctor("G21x1y0", this);} // tgen
+
+static void Test_G21x1y0()
+{
+ extern Class_Descriptor cd_G21x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x1y0, buf);
+ G21x1y0 *dp, &lv = *(dp=new (buf) G21x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y0)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x1y0");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x1y0");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(32,24), "G21x1y0");
+ check_base_class_offset(lv, (D1*)(E21x1*), 0, "G21x1y0");
+ check_base_class_offset(lv, (E21x1*), 0, "G21x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G21x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G21x1y0.ff");
+ test_class_info(&lv, &cd_G21x1y0);
+ dp->~G21x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y0(Test_G21x1y0, "G21x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y0C1Ev();
+extern void _ZN7G21x1y0D1Ev();
+Name_Map name_map_G21x1y0[] = {
+ NSPAIR(_ZN7G21x1y0C1Ev),
+ NSPAIR(_ZN7G21x1y0D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,32), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C21, ABISELECT(32,24), //bcp->offset
+ 7, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y0[] = {
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y0[] = {
+ {&(_ZTV7G21x1y0[3]), 3,14},
+ {&(_tg__ZTV5E21x1__7G21x1y0[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y0[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y0[2]), 2,3},
+ {&(_ZTV7G21x1y0[10]), 10,14},
+ {&(_ZTV7G21x1y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x1y0[];
+extern VTBL_ENTRY _ZTV7G21x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y0[];
+Class_Descriptor cd_G21x1y0 = { "G21x1y0", // class name
+ bases_G21x1y0, 6,
+ &(vtc_G21x1y0[0]), // expected_vtbl_contents
+ &(vtt_G21x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y0),6, //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 G21x1y1 : virtual E21x1 , F1 {
+ int ff;
+ ~G21x1y1(); // tgen
+ G21x1y1(); // tgen
+};
+//SIG(1 G21x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x1y1 ::~G21x1y1(){ note_dtor("G21x1y1", this);} // tgen
+G21x1y1 ::G21x1y1(){ note_ctor("G21x1y1", this);} // tgen
+
+static void Test_G21x1y1()
+{
+ extern Class_Descriptor cd_G21x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x1y1, buf);
+ G21x1y1 *dp, &lv = *(dp=new (buf) G21x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y1)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x1y1");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x1y1");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(32,24), "G21x1y1");
+ check_base_class_offset(lv, (D1*)(E21x1*), ABISELECT(16,12), "G21x1y1");
+ check_base_class_offset(lv, (E21x1*), ABISELECT(16,12), "G21x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x1y1.ff");
+ test_class_info(&lv, &cd_G21x1y1);
+ dp->~G21x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y1(Test_G21x1y1, "G21x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y1C1Ev();
+extern void _ZN7G21x1y1D1Ev();
+Name_Map name_map_G21x1y1[] = {
+ NSPAIR(_ZN7G21x1y1C1Ev),
+ NSPAIR(_ZN7G21x1y1D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,32), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,24), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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 _ZTI7G21x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y1[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y1[] = {
+ {&(_ZTV7G21x1y1[4]), 4,17},
+ {&(_ZTV7G21x1y1[9]), 9,17},
+ {&(_ZTV7G21x1y1[13]), 13,17},
+ {&(_ZTV7G21x1y1[16]), 16,17},
+ {&(_tg__ZTV5E21x1__7G21x1y1[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y1[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x1y1[];
+extern VTBL_ENTRY _ZTV7G21x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y1[];
+Class_Descriptor cd_G21x1y1 = { "G21x1y1", // class name
+ bases_G21x1y1, 6,
+ &(vtc_G21x1y1[0]), // expected_vtbl_contents
+ &(vtt_G21x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y1),7, //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 G21x1y2 : E21x1 , virtual F1 {
+ int ff;
+ ~G21x1y2(); // tgen
+ G21x1y2(); // tgen
+};
+//SIG(1 G21x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x1y2 ::~G21x1y2(){ note_dtor("G21x1y2", this);} // tgen
+G21x1y2 ::G21x1y2(){ note_ctor("G21x1y2", this);} // tgen
+
+static void Test_G21x1y2()
+{
+ extern Class_Descriptor cd_G21x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x1y2, buf);
+ G21x1y2 *dp, &lv = *(dp=new (buf) G21x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y2)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x1y2");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x1y2");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(24,16), "G21x1y2");
+ check_base_class_offset(lv, (D1*)(E21x1*), 0, "G21x1y2");
+ check_base_class_offset(lv, (E21x1*), 0, "G21x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x1y2.ff");
+ test_class_info(&lv, &cd_G21x1y2);
+ dp->~G21x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y2(Test_G21x1y2, "G21x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y2C1Ev();
+extern void _ZN7G21x1y2D1Ev();
+Name_Map name_map_G21x1y2[] = {
+ NSPAIR(_ZN7G21x1y2C1Ev),
+ NSPAIR(_ZN7G21x1y2D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(40,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C21, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y2[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y2[] = {
+ {&(_ZTV7G21x1y2[4]), 4,16},
+ {&(_tg__ZTV5E21x1__7G21x1y2[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y2[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y2[2]), 2,3},
+ {&(_ZTV7G21x1y2[8]), 8,16},
+ {&(_ZTV7G21x1y2[11]), 11,16},
+ {&(_ZTV7G21x1y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G21x1y2[];
+extern VTBL_ENTRY _ZTV7G21x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y2[];
+Class_Descriptor cd_G21x1y2 = { "G21x1y2", // class name
+ bases_G21x1y2, 6,
+ &(vtc_G21x1y2[0]), // expected_vtbl_contents
+ &(vtt_G21x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y2),7, //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 G21x1y3 : virtual E21x1 , virtual F1 {
+ int ff;
+ ~G21x1y3(); // tgen
+ G21x1y3(); // tgen
+};
+//SIG(1 G21x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x1y3 ::~G21x1y3(){ note_dtor("G21x1y3", this);} // tgen
+G21x1y3 ::G21x1y3(){ note_ctor("G21x1y3", this);} // tgen
+
+static void Test_G21x1y3()
+{
+ extern Class_Descriptor cd_G21x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x1y3, buf);
+ G21x1y3 *dp, &lv = *(dp=new (buf) G21x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y3)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x1y3");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x1y3");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(32,20), "G21x1y3");
+ check_base_class_offset(lv, (D1*)(E21x1*), ABISELECT(16,8), "G21x1y3");
+ check_base_class_offset(lv, (E21x1*), ABISELECT(16,8), "G21x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G21x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x1y3.ff");
+ test_class_info(&lv, &cd_G21x1y3);
+ dp->~G21x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y3(Test_G21x1y3, "G21x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y3C1Ev();
+extern void _ZN7G21x1y3D1Ev();
+Name_Map name_map_G21x1y3[] = {
+ NSPAIR(_ZN7G21x1y3C1Ev),
+ NSPAIR(_ZN7G21x1y3D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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 _ZTI7G21x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y3[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y3[] = {
+ {&(_ZTV7G21x1y3[5]), 5,21},
+ {&(_ZTV7G21x1y3[9]), 9,21},
+ {&(_ZTV7G21x1y3[13]), 13,21},
+ {&(_ZTV7G21x1y3[16]), 16,21},
+ {&(_ZTV7G21x1y3[20]), 20,21},
+ {&(_tg__ZTV5E21x1__7G21x1y3[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y3[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x1y3[];
+extern VTBL_ENTRY _ZTV7G21x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y3[];
+Class_Descriptor cd_G21x1y3 = { "G21x1y3", // class name
+ bases_G21x1y3, 6,
+ &(vtc_G21x1y3[0]), // expected_vtbl_contents
+ &(vtt_G21x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y3),8, //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 G21x1y4 : E21x1 , F0 {
+ int ff;
+ ~G21x1y4(); // tgen
+ G21x1y4(); // tgen
+};
+//SIG(1 G21x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x1y4 ::~G21x1y4(){ note_dtor("G21x1y4", this);} // tgen
+G21x1y4 ::G21x1y4(){ note_ctor("G21x1y4", this);} // tgen
+
+static void Test_G21x1y4()
+{
+ extern Class_Descriptor cd_G21x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x1y4, buf);
+ G21x1y4 *dp, &lv = *(dp=new (buf) G21x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y4)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,20), "G21x1y4");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,28), "G21x1y4");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(24,20), "G21x1y4");
+ check_base_class_offset(lv, (D1*)(E21x1*), 0, "G21x1y4");
+ check_base_class_offset(lv, (E21x1*), 0, "G21x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G21x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G21x1y4.ff");
+ test_class_info(&lv, &cd_G21x1y4);
+ dp->~G21x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y4(Test_G21x1y4, "G21x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y4C1Ev();
+extern void _ZN7G21x1y4D1Ev();
+Name_Map name_map_G21x1y4[] = {
+ NSPAIR(_ZN7G21x1y4C1Ev),
+ NSPAIR(_ZN7G21x1y4D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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(40,28), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C21, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y4[] = {
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y4[] = {
+ {&(_ZTV7G21x1y4[3]), 3,11},
+ {&(_tg__ZTV5E21x1__7G21x1y4[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y4[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y4[2]), 2,3},
+ {&(_ZTV7G21x1y4[7]), 7,11},
+ {&(_ZTV7G21x1y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x1y4[];
+extern VTBL_ENTRY _ZTV7G21x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y4[];
+Class_Descriptor cd_G21x1y4 = { "G21x1y4", // class name
+ bases_G21x1y4, 6,
+ &(vtc_G21x1y4[0]), // expected_vtbl_contents
+ &(vtt_G21x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y4),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 G21x1y5 : virtual E21x1 , F0 {
+ int ff;
+ ~G21x1y5(); // tgen
+ G21x1y5(); // tgen
+};
+//SIG(1 G21x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x1y5 ::~G21x1y5(){ note_dtor("G21x1y5", this);} // tgen
+G21x1y5 ::G21x1y5(){ note_ctor("G21x1y5", this);} // tgen
+
+static void Test_G21x1y5()
+{
+ extern Class_Descriptor cd_G21x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x1y5, buf);
+ G21x1y5 *dp, &lv = *(dp=new (buf) G21x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y5)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x1y5");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x1y5");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(32,24), "G21x1y5");
+ check_base_class_offset(lv, (D1*)(E21x1*), ABISELECT(16,12), "G21x1y5");
+ check_base_class_offset(lv, (E21x1*), ABISELECT(16,12), "G21x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x1y5.ff");
+ test_class_info(&lv, &cd_G21x1y5);
+ dp->~G21x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y5(Test_G21x1y5, "G21x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y5C1Ev();
+extern void _ZN7G21x1y5D1Ev();
+Name_Map name_map_G21x1y5[] = {
+ NSPAIR(_ZN7G21x1y5C1Ev),
+ NSPAIR(_ZN7G21x1y5D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,32), //bcp->offset
+ 13, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,24), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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 _ZTI7G21x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y5[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y5[] = {
+ {&(_ZTV7G21x1y5[4]), 4,16},
+ {&(_ZTV7G21x1y5[8]), 8,16},
+ {&(_ZTV7G21x1y5[12]), 12,16},
+ {&(_ZTV7G21x1y5[15]), 15,16},
+ {&(_tg__ZTV5E21x1__7G21x1y5[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y5[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x1y5[];
+extern VTBL_ENTRY _ZTV7G21x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y5[];
+Class_Descriptor cd_G21x1y5 = { "G21x1y5", // class name
+ bases_G21x1y5, 6,
+ &(vtc_G21x1y5[0]), // expected_vtbl_contents
+ &(vtt_G21x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y5),7, //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 G21x1y6 : E21x1 , virtual F0 {
+ int ff;
+ ~G21x1y6(); // tgen
+ G21x1y6(); // tgen
+};
+//SIG(1 G21x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x1y6 ::~G21x1y6(){ note_dtor("G21x1y6", this);} // tgen
+G21x1y6 ::G21x1y6(){ note_ctor("G21x1y6", this);} // tgen
+
+static void Test_G21x1y6()
+{
+ extern Class_Descriptor cd_G21x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x1y6, buf);
+ G21x1y6 *dp, &lv = *(dp=new (buf) G21x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y6)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x1y6");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x1y6");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(24,16), "G21x1y6");
+ check_base_class_offset(lv, (D1*)(E21x1*), 0, "G21x1y6");
+ check_base_class_offset(lv, (E21x1*), 0, "G21x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G21x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x1y6.ff");
+ test_class_info(&lv, &cd_G21x1y6);
+ dp->~G21x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y6(Test_G21x1y6, "G21x1y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y6C1Ev();
+extern void _ZN7G21x1y6D1Ev();
+Name_Map name_map_G21x1y6[] = {
+ NSPAIR(_ZN7G21x1y6C1Ev),
+ NSPAIR(_ZN7G21x1y6D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(40,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 2, //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, 0},
+ {&cd_C21, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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(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 _ZTI7G21x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y6[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y6[] = {
+ {&(_ZTV7G21x1y6[4]), 4,12},
+ {&(_tg__ZTV5E21x1__7G21x1y6[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y6[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y6[2]), 2,3},
+ {&(_ZTV7G21x1y6[8]), 8,12},
+ {&(_ZTV7G21x1y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G21x1y6[];
+extern VTBL_ENTRY _ZTV7G21x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y6[];
+Class_Descriptor cd_G21x1y6 = { "G21x1y6", // class name
+ bases_G21x1y6, 6,
+ &(vtc_G21x1y6[0]), // expected_vtbl_contents
+ &(vtt_G21x1y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y6),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 G21x1y7 : virtual E21x1 , virtual F0 {
+ int ff;
+ ~G21x1y7(); // tgen
+ G21x1y7(); // tgen
+};
+//SIG(1 G21x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x1y7 ::~G21x1y7(){ note_dtor("G21x1y7", this);} // tgen
+G21x1y7 ::G21x1y7(){ note_ctor("G21x1y7", this);} // tgen
+
+static void Test_G21x1y7()
+{
+ extern Class_Descriptor cd_G21x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x1y7, buf);
+ G21x1y7 *dp, &lv = *(dp=new (buf) G21x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x1y7)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x1y7");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x1y7");
+ check_base_class_offset(lv, (C21*)(E21x1*), ABISELECT(32,20), "G21x1y7");
+ check_base_class_offset(lv, (D1*)(E21x1*), ABISELECT(16,8), "G21x1y7");
+ check_base_class_offset(lv, (E21x1*), ABISELECT(16,8), "G21x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G21x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x1y7.ff");
+ test_class_info(&lv, &cd_G21x1y7);
+ dp->~G21x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x1y7(Test_G21x1y7, "G21x1y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x1y7C1Ev();
+extern void _ZN7G21x1y7D1Ev();
+Name_Map name_map_G21x1y7[] = {
+ NSPAIR(_ZN7G21x1y7C1Ev),
+ NSPAIR(_ZN7G21x1y7D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x1;
+extern VTBL_ENTRY _ZTI5E21x1[];
+extern VTBL_ENTRY _ZTV5E21x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x1, 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(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 _ZTI7G21x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x1y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x1y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x1__7G21x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x1__7G21x1y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x1__7G21x1y7[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x1y7[] = {
+ {&(_ZTV7G21x1y7[5]), 5,17},
+ {&(_ZTV7G21x1y7[9]), 9,17},
+ {&(_ZTV7G21x1y7[13]), 13,17},
+ {&(_ZTV7G21x1y7[16]), 16,17},
+ {&(_tg__ZTV5E21x1__7G21x1y7[3]), 3,4},
+ {&(_tg__ZTV3C21__5E21x1__7G21x1y7[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x1__7G21x1y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x1y7[];
+extern VTBL_ENTRY _ZTV7G21x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x1y7[];
+Class_Descriptor cd_G21x1y7 = { "G21x1y7", // class name
+ bases_G21x1y7, 6,
+ &(vtc_G21x1y7[0]), // expected_vtbl_contents
+ &(vtt_G21x1y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x1y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x1y7),7, //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 E22x1 : virtual C22 , D1 {
+ int fd;
+ ~E22x1(); // tgen
+ E22x1(); // tgen
+};
+//SIG(-1 E22x1) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E22x1 ::~E22x1(){ note_dtor("E22x1", this);} // tgen
+E22x1 ::E22x1(){ note_ctor("E22x1", this);} // tgen
+
+static void Test_E22x1()
+{
+ extern Class_Descriptor cd_E22x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E22x1, buf);
+ E22x1 *dp, &lv = *(dp=new (buf) E22x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E22x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x1)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "E22x1");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "E22x1");
+ check_base_class_offset(lv, (C22*), ABISELECT(16,12), "E22x1");
+ check_base_class_offset(lv, (D1*), 0, "E22x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E22x1.fd");
+ test_class_info(&lv, &cd_E22x1);
+ dp->~E22x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x1(Test_E22x1, "E22x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E22x1C1Ev();
+extern void _ZN5E22x1D1Ev();
+Name_Map name_map_E22x1[] = {
+ NSPAIR(_ZN5E22x1C1Ev),
+ NSPAIR(_ZN5E22x1D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E22x1[] = {
+ // 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, 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_C22, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_E22x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x1[] = {
+ {&(_ZTV5E22x1[4]), 4,10},
+ {&(_ZTV5E22x1[9]), 9,10},
+ {&(_tg__ZTV3C22__5E22x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+Class_Descriptor cd_E22x1 = { "E22x1", // class name
+ bases_E22x1, 4,
+ &(vtc_E22x1[0]), // expected_vtbl_contents
+ &(vtt_E22x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E22x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x1),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 G22x1y0 : E22x1 , F1 {
+ int ff;
+ ~G22x1y0(); // tgen
+ G22x1y0(); // tgen
+};
+//SIG(1 G22x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x1y0 ::~G22x1y0(){ note_dtor("G22x1y0", this);} // tgen
+G22x1y0 ::G22x1y0(){ note_ctor("G22x1y0", this);} // tgen
+
+static void Test_G22x1y0()
+{
+ extern Class_Descriptor cd_G22x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x1y0, buf);
+ G22x1y0 *dp, &lv = *(dp=new (buf) G22x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y0)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x1y0");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x1y0");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(32,24), "G22x1y0");
+ check_base_class_offset(lv, (D1*)(E22x1*), 0, "G22x1y0");
+ check_base_class_offset(lv, (E22x1*), 0, "G22x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G22x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G22x1y0.ff");
+ test_class_info(&lv, &cd_G22x1y0);
+ dp->~G22x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y0(Test_G22x1y0, "G22x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y0C1Ev();
+extern void _ZN7G22x1y0D1Ev();
+Name_Map name_map_G22x1y0[] = {
+ NSPAIR(_ZN7G22x1y0C1Ev),
+ NSPAIR(_ZN7G22x1y0D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x1y0[] = {
+ // 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(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_C22, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y0[] = {
+ {&(_ZTV7G22x1y0[4]), 4,13},
+ {&(_tg__ZTV5E22x1__7G22x1y0[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y0[4]), 4,5},
+ {&(_ZTV7G22x1y0[12]), 12,13},
+ {&(_tg__ZTV3C22__7G22x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y0[];
+extern VTBL_ENTRY _ZTV7G22x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y0[];
+Class_Descriptor cd_G22x1y0 = { "G22x1y0", // class name
+ bases_G22x1y0, 6,
+ &(vtc_G22x1y0[0]), // expected_vtbl_contents
+ &(vtt_G22x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y0),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 G22x1y1 : virtual E22x1 , F1 {
+ int ff;
+ ~G22x1y1(); // tgen
+ G22x1y1(); // tgen
+};
+//SIG(1 G22x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x1y1 ::~G22x1y1(){ note_dtor("G22x1y1", this);} // tgen
+G22x1y1 ::G22x1y1(){ note_ctor("G22x1y1", this);} // tgen
+
+static void Test_G22x1y1()
+{
+ extern Class_Descriptor cd_G22x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x1y1, buf);
+ G22x1y1 *dp, &lv = *(dp=new (buf) G22x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y1)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x1y1");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x1y1");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(32,24), "G22x1y1");
+ check_base_class_offset(lv, (D1*)(E22x1*), ABISELECT(16,12), "G22x1y1");
+ check_base_class_offset(lv, (E22x1*), ABISELECT(16,12), "G22x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x1y1.ff");
+ test_class_info(&lv, &cd_G22x1y1);
+ dp->~G22x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y1(Test_G22x1y1, "G22x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y1C1Ev();
+extern void _ZN7G22x1y1D1Ev();
+Name_Map name_map_G22x1y1[] = {
+ NSPAIR(_ZN7G22x1y1C1Ev),
+ NSPAIR(_ZN7G22x1y1D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x1y1[] = {
+ // 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(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_C22, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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
+ 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 _ZTI7G22x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y1[] = {
+ {&(_ZTV7G22x1y1[5]), 5,17},
+ {&(_ZTV7G22x1y1[11]), 11,17},
+ {&(_ZTV7G22x1y1[16]), 16,17},
+ {&(_tg__ZTV5E22x1__7G22x1y1[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y1[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y1[];
+extern VTBL_ENTRY _ZTV7G22x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y1[];
+Class_Descriptor cd_G22x1y1 = { "G22x1y1", // class name
+ bases_G22x1y1, 6,
+ &(vtc_G22x1y1[0]), // expected_vtbl_contents
+ &(vtt_G22x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y1),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 G22x1y2 : E22x1 , virtual F1 {
+ int ff;
+ ~G22x1y2(); // tgen
+ G22x1y2(); // tgen
+};
+//SIG(1 G22x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x1y2 ::~G22x1y2(){ note_dtor("G22x1y2", this);} // tgen
+G22x1y2 ::G22x1y2(){ note_ctor("G22x1y2", this);} // tgen
+
+static void Test_G22x1y2()
+{
+ extern Class_Descriptor cd_G22x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x1y2, buf);
+ G22x1y2 *dp, &lv = *(dp=new (buf) G22x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y2)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x1y2");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x1y2");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(24,16), "G22x1y2");
+ check_base_class_offset(lv, (D1*)(E22x1*), 0, "G22x1y2");
+ check_base_class_offset(lv, (E22x1*), 0, "G22x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G22x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x1y2.ff");
+ test_class_info(&lv, &cd_G22x1y2);
+ dp->~G22x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y2(Test_G22x1y2, "G22x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y2C1Ev();
+extern void _ZN7G22x1y2D1Ev();
+Name_Map name_map_G22x1y2[] = {
+ NSPAIR(_ZN7G22x1y2C1Ev),
+ NSPAIR(_ZN7G22x1y2D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x1y2[] = {
+ // 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(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_C22, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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(48,32), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y2[] = {
+ {&(_ZTV7G22x1y2[5]), 5,15},
+ {&(_tg__ZTV5E22x1__7G22x1y2[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y2[4]), 4,5},
+ {&(_ZTV7G22x1y2[10]), 10,15},
+ {&(_ZTV7G22x1y2[14]), 14,15},
+ {&(_tg__ZTV3C22__7G22x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y2[];
+extern VTBL_ENTRY _ZTV7G22x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y2[];
+Class_Descriptor cd_G22x1y2 = { "G22x1y2", // class name
+ bases_G22x1y2, 6,
+ &(vtc_G22x1y2[0]), // expected_vtbl_contents
+ &(vtt_G22x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y2),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 G22x1y3 : virtual E22x1 , virtual F1 {
+ int ff;
+ ~G22x1y3(); // tgen
+ G22x1y3(); // tgen
+};
+//SIG(1 G22x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x1y3 ::~G22x1y3(){ note_dtor("G22x1y3", this);} // tgen
+G22x1y3 ::G22x1y3(){ note_ctor("G22x1y3", this);} // tgen
+
+static void Test_G22x1y3()
+{
+ extern Class_Descriptor cd_G22x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x1y3, buf);
+ G22x1y3 *dp, &lv = *(dp=new (buf) G22x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y3)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x1y3");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x1y3");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(32,20), "G22x1y3");
+ check_base_class_offset(lv, (D1*)(E22x1*), ABISELECT(16,8), "G22x1y3");
+ check_base_class_offset(lv, (E22x1*), ABISELECT(16,8), "G22x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x1y3.ff");
+ test_class_info(&lv, &cd_G22x1y3);
+ dp->~G22x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y3(Test_G22x1y3, "G22x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y3C1Ev();
+extern void _ZN7G22x1y3D1Ev();
+Name_Map name_map_G22x1y3[] = {
+ NSPAIR(_ZN7G22x1y3C1Ev),
+ NSPAIR(_ZN7G22x1y3D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x1y3[] = {
+ // 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(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_C22, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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_F1, ABISELECT(56,36), //bcp->offset
+ 17, //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 _ZTI7G22x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y3[] = {
+ {&(_ZTV7G22x1y3[6]), 6,21},
+ {&(_ZTV7G22x1y3[11]), 11,21},
+ {&(_ZTV7G22x1y3[16]), 16,21},
+ {&(_ZTV7G22x1y3[20]), 20,21},
+ {&(_tg__ZTV5E22x1__7G22x1y3[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y3[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y3[];
+extern VTBL_ENTRY _ZTV7G22x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y3[];
+Class_Descriptor cd_G22x1y3 = { "G22x1y3", // class name
+ bases_G22x1y3, 6,
+ &(vtc_G22x1y3[0]), // expected_vtbl_contents
+ &(vtt_G22x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y3),7, //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 G22x1y4 : E22x1 , F0 {
+ int ff;
+ ~G22x1y4(); // tgen
+ G22x1y4(); // tgen
+};
+//SIG(1 G22x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x1y4 ::~G22x1y4(){ note_dtor("G22x1y4", this);} // tgen
+G22x1y4 ::G22x1y4(){ note_ctor("G22x1y4", this);} // tgen
+
+static void Test_G22x1y4()
+{
+ extern Class_Descriptor cd_G22x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x1y4, buf);
+ G22x1y4 *dp, &lv = *(dp=new (buf) G22x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y4)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,32), "G22x1y4");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,20), "G22x1y4");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(24,20), "G22x1y4");
+ check_base_class_offset(lv, (D1*)(E22x1*), 0, "G22x1y4");
+ check_base_class_offset(lv, (E22x1*), 0, "G22x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G22x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x1y4.ff");
+ test_class_info(&lv, &cd_G22x1y4);
+ dp->~G22x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y4(Test_G22x1y4, "G22x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y4C1Ev();
+extern void _ZN7G22x1y4D1Ev();
+Name_Map name_map_G22x1y4[] = {
+ NSPAIR(_ZN7G22x1y4C1Ev),
+ NSPAIR(_ZN7G22x1y4D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x1y4[] = {
+ // 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, ABISELECT(24,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_C22, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y4[] = {
+ {&(_ZTV7G22x1y4[4]), 4,10},
+ {&(_tg__ZTV5E22x1__7G22x1y4[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y4[4]), 4,5},
+ {&(_ZTV7G22x1y4[9]), 9,10},
+ {&(_tg__ZTV3C22__7G22x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y4[];
+extern VTBL_ENTRY _ZTV7G22x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y4[];
+Class_Descriptor cd_G22x1y4 = { "G22x1y4", // class name
+ bases_G22x1y4, 6,
+ &(vtc_G22x1y4[0]), // expected_vtbl_contents
+ &(vtt_G22x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y4),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 G22x1y5 : virtual E22x1 , F0 {
+ int ff;
+ ~G22x1y5(); // tgen
+ G22x1y5(); // tgen
+};
+//SIG(1 G22x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x1y5 ::~G22x1y5(){ note_dtor("G22x1y5", this);} // tgen
+G22x1y5 ::G22x1y5(){ note_ctor("G22x1y5", this);} // tgen
+
+static void Test_G22x1y5()
+{
+ extern Class_Descriptor cd_G22x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x1y5, buf);
+ G22x1y5 *dp, &lv = *(dp=new (buf) G22x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y5)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x1y5");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x1y5");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(32,24), "G22x1y5");
+ check_base_class_offset(lv, (D1*)(E22x1*), ABISELECT(16,12), "G22x1y5");
+ check_base_class_offset(lv, (E22x1*), ABISELECT(16,12), "G22x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x1y5.ff");
+ test_class_info(&lv, &cd_G22x1y5);
+ dp->~G22x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y5(Test_G22x1y5, "G22x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y5C1Ev();
+extern void _ZN7G22x1y5D1Ev();
+Name_Map name_map_G22x1y5[] = {
+ NSPAIR(_ZN7G22x1y5C1Ev),
+ NSPAIR(_ZN7G22x1y5D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x1y5[] = {
+ // 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(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_C22, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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
+ 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 _ZTI7G22x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y5[] = {
+ {&(_ZTV7G22x1y5[5]), 5,16},
+ {&(_ZTV7G22x1y5[10]), 10,16},
+ {&(_ZTV7G22x1y5[15]), 15,16},
+ {&(_tg__ZTV5E22x1__7G22x1y5[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y5[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y5[];
+extern VTBL_ENTRY _ZTV7G22x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y5[];
+Class_Descriptor cd_G22x1y5 = { "G22x1y5", // class name
+ bases_G22x1y5, 6,
+ &(vtc_G22x1y5[0]), // expected_vtbl_contents
+ &(vtt_G22x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y5),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 G22x1y6 : E22x1 , virtual F0 {
+ int ff;
+ ~G22x1y6(); // tgen
+ G22x1y6(); // tgen
+};
+//SIG(1 G22x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x1y6 ::~G22x1y6(){ note_dtor("G22x1y6", this);} // tgen
+G22x1y6 ::G22x1y6(){ note_ctor("G22x1y6", this);} // tgen
+
+static void Test_G22x1y6()
+{
+ extern Class_Descriptor cd_G22x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x1y6, buf);
+ G22x1y6 *dp, &lv = *(dp=new (buf) G22x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y6)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x1y6");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x1y6");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(24,16), "G22x1y6");
+ check_base_class_offset(lv, (D1*)(E22x1*), 0, "G22x1y6");
+ check_base_class_offset(lv, (E22x1*), 0, "G22x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G22x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x1y6.ff");
+ test_class_info(&lv, &cd_G22x1y6);
+ dp->~G22x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y6(Test_G22x1y6, "G22x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y6C1Ev();
+extern void _ZN7G22x1y6D1Ev();
+Name_Map name_map_G22x1y6[] = {
+ NSPAIR(_ZN7G22x1y6C1Ev),
+ NSPAIR(_ZN7G22x1y6D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x1y6[] = {
+ // 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(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_C22, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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(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 _ZTI7G22x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y6[] = {
+ {&(_ZTV7G22x1y6[5]), 5,11},
+ {&(_tg__ZTV5E22x1__7G22x1y6[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y6[4]), 4,5},
+ {&(_ZTV7G22x1y6[10]), 10,11},
+ {&(_tg__ZTV3C22__7G22x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y6[];
+extern VTBL_ENTRY _ZTV7G22x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y6[];
+Class_Descriptor cd_G22x1y6 = { "G22x1y6", // class name
+ bases_G22x1y6, 6,
+ &(vtc_G22x1y6[0]), // expected_vtbl_contents
+ &(vtt_G22x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y6),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 G22x1y7 : virtual E22x1 , virtual F0 {
+ int ff;
+ ~G22x1y7(); // tgen
+ G22x1y7(); // tgen
+};
+//SIG(1 G22x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x1y7 ::~G22x1y7(){ note_dtor("G22x1y7", this);} // tgen
+G22x1y7 ::G22x1y7(){ note_ctor("G22x1y7", this);} // tgen
+
+static void Test_G22x1y7()
+{
+ extern Class_Descriptor cd_G22x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x1y7, buf);
+ G22x1y7 *dp, &lv = *(dp=new (buf) G22x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x1y7)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x1y7");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x1y7");
+ check_base_class_offset(lv, (C22*)(E22x1*), ABISELECT(32,20), "G22x1y7");
+ check_base_class_offset(lv, (D1*)(E22x1*), ABISELECT(16,8), "G22x1y7");
+ check_base_class_offset(lv, (E22x1*), ABISELECT(16,8), "G22x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G22x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x1y7.ff");
+ test_class_info(&lv, &cd_G22x1y7);
+ dp->~G22x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x1y7(Test_G22x1y7, "G22x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x1y7C1Ev();
+extern void _ZN7G22x1y7D1Ev();
+Name_Map name_map_G22x1y7[] = {
+ NSPAIR(_ZN7G22x1y7C1Ev),
+ NSPAIR(_ZN7G22x1y7D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x1;
+extern VTBL_ENTRY _ZTI5E22x1[];
+extern VTBL_ENTRY _ZTV5E22x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x1y7[] = {
+ // 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(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_C22, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E22x1, 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
+ 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 _ZTI7G22x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x1__7G22x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x1__7G22x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x1y7[] = {
+ {&(_ZTV7G22x1y7[6]), 6,17},
+ {&(_ZTV7G22x1y7[11]), 11,17},
+ {&(_ZTV7G22x1y7[16]), 16,17},
+ {&(_tg__ZTV5E22x1__7G22x1y7[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x1__7G22x1y7[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x1y7[];
+extern VTBL_ENTRY _ZTV7G22x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x1y7[];
+Class_Descriptor cd_G22x1y7 = { "G22x1y7", // class name
+ bases_G22x1y7, 6,
+ &(vtc_G22x1y7[0]), // expected_vtbl_contents
+ &(vtt_G22x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x1y7),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 E23x1 : virtual C23 , D1 {
+ int fd;
+ ~E23x1(); // tgen
+ E23x1(); // tgen
+};
+//SIG(-1 E23x1) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E23x1 ::~E23x1(){ note_dtor("E23x1", this);} // tgen
+E23x1 ::E23x1(){ note_ctor("E23x1", this);} // tgen
+
+static void Test_E23x1()
+{
+ extern Class_Descriptor cd_E23x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E23x1, buf);
+ E23x1 *dp, &lv = *(dp=new (buf) E23x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E23x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x1)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "E23x1");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "E23x1");
+ check_base_class_offset(lv, (C23*), ABISELECT(16,12), "E23x1");
+ check_base_class_offset(lv, (D1*), 0, "E23x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E23x1.fd");
+ test_class_info(&lv, &cd_E23x1);
+ dp->~E23x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x1(Test_E23x1, "E23x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E23x1C1Ev();
+extern void _ZN5E23x1D1Ev();
+Name_Map name_map_E23x1[] = {
+ NSPAIR(_ZN5E23x1C1Ev),
+ NSPAIR(_ZN5E23x1D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E23x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 10, //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_C23, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern void _ZN2D13fooEv();
+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_E23x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__5E23x1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x1[] = {
+ {&(_ZTV5E23x1[4]), 4,14},
+ {&(_ZTV5E23x1[9]), 9,14},
+ {&(_ZTV5E23x1[13]), 13,14},
+ {&(_tg__ZTV3C23__5E23x1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+static VTBL_ENTRY alt_thunk_names80[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E23x1 = { "E23x1", // class name
+ bases_E23x1, 4,
+ &(vtc_E23x1[0]), // expected_vtbl_contents
+ &(vtt_E23x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E23x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x1),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names80,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y0 : E23x1 , F1 {
+ int ff;
+ ~G23x1y0(); // tgen
+ G23x1y0(); // tgen
+};
+//SIG(1 G23x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x1y0 ::~G23x1y0(){ note_dtor("G23x1y0", this);} // tgen
+G23x1y0 ::G23x1y0(){ note_ctor("G23x1y0", this);} // tgen
+
+static void Test_G23x1y0()
+{
+ extern Class_Descriptor cd_G23x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x1y0, buf);
+ G23x1y0 *dp, &lv = *(dp=new (buf) G23x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y0)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x1y0");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x1y0");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(32,24), "G23x1y0");
+ check_base_class_offset(lv, (D1*)(E23x1*), 0, "G23x1y0");
+ check_base_class_offset(lv, (E23x1*), 0, "G23x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G23x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G23x1y0.ff");
+ test_class_info(&lv, &cd_G23x1y0);
+ dp->~G23x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y0(Test_G23x1y0, "G23x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y0C1Ev();
+extern void _ZN7G23x1y0D1Ev();
+Name_Map name_map_G23x1y0[] = {
+ NSPAIR(_ZN7G23x1y0C1Ev),
+ NSPAIR(_ZN7G23x1y0D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x1y0[] = {
+ // 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)
+ 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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G23x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y0[] = {
+ {&(_ZTV7G23x1y0[4]), 4,17},
+ {&(_tg__ZTV5E23x1__7G23x1y0[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y0[3]), 3,4},
+ {&(_ZTV7G23x1y0[12]), 12,17},
+ {&(_ZTV7G23x1y0[16]), 16,17},
+ {&(_tg__ZTV3C23__7G23x1y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y0[];
+extern VTBL_ENTRY _ZTV7G23x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y0[];
+static VTBL_ENTRY alt_thunk_names81[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y0 = { "G23x1y0", // class name
+ bases_G23x1y0, 6,
+ &(vtc_G23x1y0[0]), // expected_vtbl_contents
+ &(vtt_G23x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y0),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names81,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y1 : virtual E23x1 , F1 {
+ int ff;
+ ~G23x1y1(); // tgen
+ G23x1y1(); // tgen
+};
+//SIG(1 G23x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x1y1 ::~G23x1y1(){ note_dtor("G23x1y1", this);} // tgen
+G23x1y1 ::G23x1y1(){ note_ctor("G23x1y1", this);} // tgen
+
+static void Test_G23x1y1()
+{
+ extern Class_Descriptor cd_G23x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x1y1, buf);
+ G23x1y1 *dp, &lv = *(dp=new (buf) G23x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y1)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x1y1");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x1y1");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(32,24), "G23x1y1");
+ check_base_class_offset(lv, (D1*)(E23x1*), ABISELECT(16,12), "G23x1y1");
+ check_base_class_offset(lv, (E23x1*), ABISELECT(16,12), "G23x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x1y1.ff");
+ test_class_info(&lv, &cd_G23x1y1);
+ dp->~G23x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y1(Test_G23x1y1, "G23x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y1C1Ev();
+extern void _ZN7G23x1y1D1Ev();
+Name_Map name_map_G23x1y1[] = {
+ NSPAIR(_ZN7G23x1y1C1Ev),
+ NSPAIR(_ZN7G23x1y1D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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
+ 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 _ZTI7G23x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G23x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y1[] = {
+ {&(_ZTV7G23x1y1[5]), 5,21},
+ {&(_ZTV7G23x1y1[11]), 11,21},
+ {&(_ZTV7G23x1y1[16]), 16,21},
+ {&(_ZTV7G23x1y1[20]), 20,21},
+ {&(_tg__ZTV5E23x1__7G23x1y1[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y1[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x1y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y1[];
+extern VTBL_ENTRY _ZTV7G23x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y1[];
+static VTBL_ENTRY alt_thunk_names82[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y1 = { "G23x1y1", // class name
+ bases_G23x1y1, 6,
+ &(vtc_G23x1y1[0]), // expected_vtbl_contents
+ &(vtt_G23x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y1),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names82,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y2 : E23x1 , virtual F1 {
+ int ff;
+ ~G23x1y2(); // tgen
+ G23x1y2(); // tgen
+};
+//SIG(1 G23x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x1y2 ::~G23x1y2(){ note_dtor("G23x1y2", this);} // tgen
+G23x1y2 ::G23x1y2(){ note_ctor("G23x1y2", this);} // tgen
+
+static void Test_G23x1y2()
+{
+ extern Class_Descriptor cd_G23x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x1y2, buf);
+ G23x1y2 *dp, &lv = *(dp=new (buf) G23x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y2)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x1y2");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x1y2");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(24,16), "G23x1y2");
+ check_base_class_offset(lv, (D1*)(E23x1*), 0, "G23x1y2");
+ check_base_class_offset(lv, (E23x1*), 0, "G23x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x1y2.ff");
+ test_class_info(&lv, &cd_G23x1y2);
+ dp->~G23x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y2(Test_G23x1y2, "G23x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y2C1Ev();
+extern void _ZN7G23x1y2D1Ev();
+Name_Map name_map_G23x1y2[] = {
+ NSPAIR(_ZN7G23x1y2C1Ev),
+ NSPAIR(_ZN7G23x1y2D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y2[] = {
+ {&(_ZTV7G23x1y2[5]), 5,19},
+ {&(_tg__ZTV5E23x1__7G23x1y2[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y2[3]), 3,4},
+ {&(_ZTV7G23x1y2[10]), 10,19},
+ {&(_ZTV7G23x1y2[14]), 14,19},
+ {&(_ZTV7G23x1y2[18]), 18,19},
+ {&(_tg__ZTV3C23__7G23x1y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y2[];
+extern VTBL_ENTRY _ZTV7G23x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y2[];
+static VTBL_ENTRY alt_thunk_names83[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y2 = { "G23x1y2", // class name
+ bases_G23x1y2, 6,
+ &(vtc_G23x1y2[0]), // expected_vtbl_contents
+ &(vtt_G23x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y2),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names83,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y3 : virtual E23x1 , virtual F1 {
+ int ff;
+ ~G23x1y3(); // tgen
+ G23x1y3(); // tgen
+};
+//SIG(1 G23x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x1y3 ::~G23x1y3(){ note_dtor("G23x1y3", this);} // tgen
+G23x1y3 ::G23x1y3(){ note_ctor("G23x1y3", this);} // tgen
+
+static void Test_G23x1y3()
+{
+ extern Class_Descriptor cd_G23x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x1y3, buf);
+ G23x1y3 *dp, &lv = *(dp=new (buf) G23x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y3)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x1y3");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x1y3");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(32,20), "G23x1y3");
+ check_base_class_offset(lv, (D1*)(E23x1*), ABISELECT(16,8), "G23x1y3");
+ check_base_class_offset(lv, (E23x1*), ABISELECT(16,8), "G23x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G23x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x1y3.ff");
+ test_class_info(&lv, &cd_G23x1y3);
+ dp->~G23x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y3(Test_G23x1y3, "G23x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y3C1Ev();
+extern void _ZN7G23x1y3D1Ev();
+Name_Map name_map_G23x1y3[] = {
+ NSPAIR(_ZN7G23x1y3C1Ev),
+ NSPAIR(_ZN7G23x1y3D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 21, //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 _ZTI7G23x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y3[] = {
+ {&(_ZTV7G23x1y3[6]), 6,25},
+ {&(_ZTV7G23x1y3[11]), 11,25},
+ {&(_ZTV7G23x1y3[16]), 16,25},
+ {&(_ZTV7G23x1y3[20]), 20,25},
+ {&(_ZTV7G23x1y3[24]), 24,25},
+ {&(_tg__ZTV5E23x1__7G23x1y3[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y3[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x1y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y3[];
+extern VTBL_ENTRY _ZTV7G23x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y3[];
+static VTBL_ENTRY alt_thunk_names84[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y3 = { "G23x1y3", // class name
+ bases_G23x1y3, 6,
+ &(vtc_G23x1y3[0]), // expected_vtbl_contents
+ &(vtt_G23x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y3),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names84,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y4 : E23x1 , F0 {
+ int ff;
+ ~G23x1y4(); // tgen
+ G23x1y4(); // tgen
+};
+//SIG(1 G23x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x1y4 ::~G23x1y4(){ note_dtor("G23x1y4", this);} // tgen
+G23x1y4 ::G23x1y4(){ note_ctor("G23x1y4", this);} // tgen
+
+static void Test_G23x1y4()
+{
+ extern Class_Descriptor cd_G23x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x1y4, buf);
+ G23x1y4 *dp, &lv = *(dp=new (buf) G23x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y4)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,32), "G23x1y4");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,20), "G23x1y4");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(24,20), "G23x1y4");
+ check_base_class_offset(lv, (D1*)(E23x1*), 0, "G23x1y4");
+ check_base_class_offset(lv, (E23x1*), 0, "G23x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G23x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x1y4.ff");
+ test_class_info(&lv, &cd_G23x1y4);
+ dp->~G23x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y4(Test_G23x1y4, "G23x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y4C1Ev();
+extern void _ZN7G23x1y4D1Ev();
+Name_Map name_map_G23x1y4[] = {
+ NSPAIR(_ZN7G23x1y4C1Ev),
+ NSPAIR(_ZN7G23x1y4D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,32), //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, ABISELECT(24,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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_F0, 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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x1y4[];
+extern void _ZN2D13fooEv();
+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_G23x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y4[] = {
+ {&(_ZTV7G23x1y4[4]), 4,14},
+ {&(_tg__ZTV5E23x1__7G23x1y4[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y4[3]), 3,4},
+ {&(_ZTV7G23x1y4[9]), 9,14},
+ {&(_ZTV7G23x1y4[13]), 13,14},
+ {&(_tg__ZTV3C23__7G23x1y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y4[];
+extern VTBL_ENTRY _ZTV7G23x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y4[];
+static VTBL_ENTRY alt_thunk_names85[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y4 = { "G23x1y4", // class name
+ bases_G23x1y4, 6,
+ &(vtc_G23x1y4[0]), // expected_vtbl_contents
+ &(vtt_G23x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y4),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names85,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y5 : virtual E23x1 , F0 {
+ int ff;
+ ~G23x1y5(); // tgen
+ G23x1y5(); // tgen
+};
+//SIG(1 G23x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x1y5 ::~G23x1y5(){ note_dtor("G23x1y5", this);} // tgen
+G23x1y5 ::G23x1y5(){ note_ctor("G23x1y5", this);} // tgen
+
+static void Test_G23x1y5()
+{
+ extern Class_Descriptor cd_G23x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x1y5, buf);
+ G23x1y5 *dp, &lv = *(dp=new (buf) G23x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y5)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x1y5");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x1y5");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(32,24), "G23x1y5");
+ check_base_class_offset(lv, (D1*)(E23x1*), ABISELECT(16,12), "G23x1y5");
+ check_base_class_offset(lv, (E23x1*), ABISELECT(16,12), "G23x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x1y5.ff");
+ test_class_info(&lv, &cd_G23x1y5);
+ dp->~G23x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y5(Test_G23x1y5, "G23x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y5C1Ev();
+extern void _ZN7G23x1y5D1Ev();
+Name_Map name_map_G23x1y5[] = {
+ NSPAIR(_ZN7G23x1y5C1Ev),
+ NSPAIR(_ZN7G23x1y5D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,36), //bcp->offset
+ 16, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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
+ 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 _ZTI7G23x1y5[];
+extern void _ZN2D13fooEv();
+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_G23x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y5[] = {
+ {&(_ZTV7G23x1y5[5]), 5,20},
+ {&(_ZTV7G23x1y5[10]), 10,20},
+ {&(_ZTV7G23x1y5[15]), 15,20},
+ {&(_ZTV7G23x1y5[19]), 19,20},
+ {&(_tg__ZTV5E23x1__7G23x1y5[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y5[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x1y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y5[];
+extern VTBL_ENTRY _ZTV7G23x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y5[];
+static VTBL_ENTRY alt_thunk_names86[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y5 = { "G23x1y5", // class name
+ bases_G23x1y5, 6,
+ &(vtc_G23x1y5[0]), // expected_vtbl_contents
+ &(vtt_G23x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y5),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names86,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y6 : E23x1 , virtual F0 {
+ int ff;
+ ~G23x1y6(); // tgen
+ G23x1y6(); // tgen
+};
+//SIG(1 G23x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x1y6 ::~G23x1y6(){ note_dtor("G23x1y6", this);} // tgen
+G23x1y6 ::G23x1y6(){ note_ctor("G23x1y6", this);} // tgen
+
+static void Test_G23x1y6()
+{
+ extern Class_Descriptor cd_G23x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x1y6, buf);
+ G23x1y6 *dp, &lv = *(dp=new (buf) G23x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y6)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x1y6");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x1y6");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(24,16), "G23x1y6");
+ check_base_class_offset(lv, (D1*)(E23x1*), 0, "G23x1y6");
+ check_base_class_offset(lv, (E23x1*), 0, "G23x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G23x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x1y6.ff");
+ test_class_info(&lv, &cd_G23x1y6);
+ dp->~G23x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y6(Test_G23x1y6, "G23x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y6C1Ev();
+extern void _ZN7G23x1y6D1Ev();
+Name_Map name_map_G23x1y6[] = {
+ NSPAIR(_ZN7G23x1y6C1Ev),
+ NSPAIR(_ZN7G23x1y6D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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_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 _ZTI7G23x1y6[];
+extern void _ZN2D13fooEv();
+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_G23x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y6[] = {
+ {&(_ZTV7G23x1y6[5]), 5,15},
+ {&(_tg__ZTV5E23x1__7G23x1y6[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y6[3]), 3,4},
+ {&(_ZTV7G23x1y6[10]), 10,15},
+ {&(_ZTV7G23x1y6[14]), 14,15},
+ {&(_tg__ZTV3C23__7G23x1y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y6[];
+extern VTBL_ENTRY _ZTV7G23x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y6[];
+static VTBL_ENTRY alt_thunk_names87[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y6 = { "G23x1y6", // class name
+ bases_G23x1y6, 6,
+ &(vtc_G23x1y6[0]), // expected_vtbl_contents
+ &(vtt_G23x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y6),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names87,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x1y7 : virtual E23x1 , virtual F0 {
+ int ff;
+ ~G23x1y7(); // tgen
+ G23x1y7(); // tgen
+};
+//SIG(1 G23x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x1y7 ::~G23x1y7(){ note_dtor("G23x1y7", this);} // tgen
+G23x1y7 ::G23x1y7(){ note_ctor("G23x1y7", this);} // tgen
+
+static void Test_G23x1y7()
+{
+ extern Class_Descriptor cd_G23x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x1y7, buf);
+ G23x1y7 *dp, &lv = *(dp=new (buf) G23x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x1y7)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x1y7");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x1y7");
+ check_base_class_offset(lv, (C23*)(E23x1*), ABISELECT(32,20), "G23x1y7");
+ check_base_class_offset(lv, (D1*)(E23x1*), ABISELECT(16,8), "G23x1y7");
+ check_base_class_offset(lv, (E23x1*), ABISELECT(16,8), "G23x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G23x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x1y7.ff");
+ test_class_info(&lv, &cd_G23x1y7);
+ dp->~G23x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x1y7(Test_G23x1y7, "G23x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x1y7C1Ev();
+extern void _ZN7G23x1y7D1Ev();
+Name_Map name_map_G23x1y7[] = {
+ NSPAIR(_ZN7G23x1y7C1Ev),
+ NSPAIR(_ZN7G23x1y7D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x1;
+extern VTBL_ENTRY _ZTI5E23x1[];
+extern VTBL_ENTRY _ZTV5E23x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E23x1, 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
+ 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 _ZTI7G23x1y7[];
+extern void _ZN2D13fooEv();
+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_G23x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x1__7G23x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x1__7G23x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x1__7G23x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x1y7[] = {
+ {&(_ZTV7G23x1y7[6]), 6,21},
+ {&(_ZTV7G23x1y7[11]), 11,21},
+ {&(_ZTV7G23x1y7[16]), 16,21},
+ {&(_ZTV7G23x1y7[20]), 20,21},
+ {&(_tg__ZTV5E23x1__7G23x1y7[4]), 4,5},
+ {&(_tg__ZTV3C23__5E23x1__7G23x1y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x1__7G23x1y7[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x1y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x1y7[];
+extern VTBL_ENTRY _ZTV7G23x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x1y7[];
+static VTBL_ENTRY alt_thunk_names88[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x1y7 = { "G23x1y7", // class name
+ bases_G23x1y7, 6,
+ &(vtc_G23x1y7[0]), // expected_vtbl_contents
+ &(vtt_G23x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x1y7),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names88,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x1 : virtual C24 , D1 {
+ int fd;
+ ~E24x1(); // tgen
+ E24x1(); // tgen
+};
+//SIG(-1 E24x1) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E24x1 ::~E24x1(){ note_dtor("E24x1", this);} // tgen
+E24x1 ::E24x1(){ note_ctor("E24x1", this);} // tgen
+
+static void Test_E24x1()
+{
+ extern Class_Descriptor cd_E24x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E24x1, buf);
+ E24x1 *dp, &lv = *(dp=new (buf) E24x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E24x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x1)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "E24x1");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "E24x1");
+ check_base_class_offset(lv, (C24*), ABISELECT(16,12), "E24x1");
+ check_base_class_offset(lv, (D1*), 0, "E24x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E24x1.fd");
+ test_class_info(&lv, &cd_E24x1);
+ dp->~E24x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x1(Test_E24x1, "E24x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E24x1C1Ev();
+extern void _ZN5E24x1D1Ev();
+Name_Map name_map_E24x1[] = {
+ NSPAIR(_ZN5E24x1C1Ev),
+ NSPAIR(_ZN5E24x1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E24x1[] = {
+ // 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(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_C24, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_E24x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x1[] = {
+ {&(_ZTV5E24x1[4]), 4,10},
+ {&(_ZTV5E24x1[9]), 9,10},
+ {&(_tg__ZTV3C24__5E24x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+Class_Descriptor cd_E24x1 = { "E24x1", // class name
+ bases_E24x1, 4,
+ &(vtc_E24x1[0]), // expected_vtbl_contents
+ &(vtt_E24x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E24x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x1),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 G24x1y0 : E24x1 , F1 {
+ int ff;
+ ~G24x1y0(); // tgen
+ G24x1y0(); // tgen
+};
+//SIG(1 G24x1y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x1y0 ::~G24x1y0(){ note_dtor("G24x1y0", this);} // tgen
+G24x1y0 ::G24x1y0(){ note_ctor("G24x1y0", this);} // tgen
+
+static void Test_G24x1y0()
+{
+ extern Class_Descriptor cd_G24x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x1y0, buf);
+ G24x1y0 *dp, &lv = *(dp=new (buf) G24x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y0)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x1y0");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x1y0");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(32,24), "G24x1y0");
+ check_base_class_offset(lv, (D1*)(E24x1*), 0, "G24x1y0");
+ check_base_class_offset(lv, (E24x1*), 0, "G24x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G24x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G24x1y0.ff");
+ test_class_info(&lv, &cd_G24x1y0);
+ dp->~G24x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y0(Test_G24x1y0, "G24x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y0C1Ev();
+extern void _ZN7G24x1y0D1Ev();
+Name_Map name_map_G24x1y0[] = {
+ NSPAIR(_ZN7G24x1y0C1Ev),
+ NSPAIR(_ZN7G24x1y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x1y0[] = {
+ // 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, 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_C24, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E24x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y0[] = {
+ {&(_ZTV7G24x1y0[4]), 4,13},
+ {&(_tg__ZTV5E24x1__7G24x1y0[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y0[4]), 4,5},
+ {&(_ZTV7G24x1y0[12]), 12,13},
+ {&(_tg__ZTV3C24__7G24x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y0[];
+extern VTBL_ENTRY _ZTV7G24x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y0[];
+Class_Descriptor cd_G24x1y0 = { "G24x1y0", // class name
+ bases_G24x1y0, 6,
+ &(vtc_G24x1y0[0]), // expected_vtbl_contents
+ &(vtt_G24x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y0),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 G24x1y1 : virtual E24x1 , F1 {
+ int ff;
+ ~G24x1y1(); // tgen
+ G24x1y1(); // tgen
+};
+//SIG(1 G24x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x1y1 ::~G24x1y1(){ note_dtor("G24x1y1", this);} // tgen
+G24x1y1 ::G24x1y1(){ note_ctor("G24x1y1", this);} // tgen
+
+static void Test_G24x1y1()
+{
+ extern Class_Descriptor cd_G24x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x1y1, buf);
+ G24x1y1 *dp, &lv = *(dp=new (buf) G24x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y1)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x1y1");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x1y1");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(32,24), "G24x1y1");
+ check_base_class_offset(lv, (D1*)(E24x1*), ABISELECT(16,12), "G24x1y1");
+ check_base_class_offset(lv, (E24x1*), ABISELECT(16,12), "G24x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x1y1.ff");
+ test_class_info(&lv, &cd_G24x1y1);
+ dp->~G24x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y1(Test_G24x1y1, "G24x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y1C1Ev();
+extern void _ZN7G24x1y1D1Ev();
+Name_Map name_map_G24x1y1[] = {
+ NSPAIR(_ZN7G24x1y1C1Ev),
+ NSPAIR(_ZN7G24x1y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x1y1[] = {
+ // 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, 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_C24, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E24x1, 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 _ZTI7G24x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y1[] = {
+ {&(_ZTV7G24x1y1[5]), 5,17},
+ {&(_ZTV7G24x1y1[11]), 11,17},
+ {&(_ZTV7G24x1y1[16]), 16,17},
+ {&(_tg__ZTV5E24x1__7G24x1y1[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y1[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y1[];
+extern VTBL_ENTRY _ZTV7G24x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y1[];
+Class_Descriptor cd_G24x1y1 = { "G24x1y1", // class name
+ bases_G24x1y1, 6,
+ &(vtc_G24x1y1[0]), // expected_vtbl_contents
+ &(vtt_G24x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y1),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 G24x1y2 : E24x1 , virtual F1 {
+ int ff;
+ ~G24x1y2(); // tgen
+ G24x1y2(); // tgen
+};
+//SIG(1 G24x1y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x1y2 ::~G24x1y2(){ note_dtor("G24x1y2", this);} // tgen
+G24x1y2 ::G24x1y2(){ note_ctor("G24x1y2", this);} // tgen
+
+static void Test_G24x1y2()
+{
+ extern Class_Descriptor cd_G24x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x1y2, buf);
+ G24x1y2 *dp, &lv = *(dp=new (buf) G24x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y2)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x1y2");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x1y2");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(24,16), "G24x1y2");
+ check_base_class_offset(lv, (D1*)(E24x1*), 0, "G24x1y2");
+ check_base_class_offset(lv, (E24x1*), 0, "G24x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G24x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x1y2.ff");
+ test_class_info(&lv, &cd_G24x1y2);
+ dp->~G24x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y2(Test_G24x1y2, "G24x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y2C1Ev();
+extern void _ZN7G24x1y2D1Ev();
+Name_Map name_map_G24x1y2[] = {
+ NSPAIR(_ZN7G24x1y2C1Ev),
+ NSPAIR(_ZN7G24x1y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x1y2[] = {
+ // 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, 0},
+ {&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_C24, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E24x1, 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
+ 11, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y2[] = {
+ {&(_ZTV7G24x1y2[5]), 5,15},
+ {&(_tg__ZTV5E24x1__7G24x1y2[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y2[4]), 4,5},
+ {&(_ZTV7G24x1y2[10]), 10,15},
+ {&(_ZTV7G24x1y2[14]), 14,15},
+ {&(_tg__ZTV3C24__7G24x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y2[];
+extern VTBL_ENTRY _ZTV7G24x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y2[];
+Class_Descriptor cd_G24x1y2 = { "G24x1y2", // class name
+ bases_G24x1y2, 6,
+ &(vtc_G24x1y2[0]), // expected_vtbl_contents
+ &(vtt_G24x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y2),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 G24x1y3 : virtual E24x1 , virtual F1 {
+ int ff;
+ ~G24x1y3(); // tgen
+ G24x1y3(); // tgen
+};
+//SIG(1 G24x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x1y3 ::~G24x1y3(){ note_dtor("G24x1y3", this);} // tgen
+G24x1y3 ::G24x1y3(){ note_ctor("G24x1y3", this);} // tgen
+
+static void Test_G24x1y3()
+{
+ extern Class_Descriptor cd_G24x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x1y3, buf);
+ G24x1y3 *dp, &lv = *(dp=new (buf) G24x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y3)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x1y3");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x1y3");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(32,20), "G24x1y3");
+ check_base_class_offset(lv, (D1*)(E24x1*), ABISELECT(16,8), "G24x1y3");
+ check_base_class_offset(lv, (E24x1*), ABISELECT(16,8), "G24x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x1y3.ff");
+ test_class_info(&lv, &cd_G24x1y3);
+ dp->~G24x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y3(Test_G24x1y3, "G24x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y3C1Ev();
+extern void _ZN7G24x1y3D1Ev();
+Name_Map name_map_G24x1y3[] = {
+ NSPAIR(_ZN7G24x1y3C1Ev),
+ NSPAIR(_ZN7G24x1y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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_C24, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E24x1, 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
+ 17, //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 _ZTI7G24x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y3[] = {
+ {&(_ZTV7G24x1y3[6]), 6,21},
+ {&(_ZTV7G24x1y3[11]), 11,21},
+ {&(_ZTV7G24x1y3[16]), 16,21},
+ {&(_ZTV7G24x1y3[20]), 20,21},
+ {&(_tg__ZTV5E24x1__7G24x1y3[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y3[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y3[];
+extern VTBL_ENTRY _ZTV7G24x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y3[];
+Class_Descriptor cd_G24x1y3 = { "G24x1y3", // class name
+ bases_G24x1y3, 6,
+ &(vtc_G24x1y3[0]), // expected_vtbl_contents
+ &(vtt_G24x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y3),7, //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 G24x1y4 : E24x1 , F0 {
+ int ff;
+ ~G24x1y4(); // tgen
+ G24x1y4(); // tgen
+};
+//SIG(1 G24x1y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x1y4 ::~G24x1y4(){ note_dtor("G24x1y4", this);} // tgen
+G24x1y4 ::G24x1y4(){ note_ctor("G24x1y4", this);} // tgen
+
+static void Test_G24x1y4()
+{
+ extern Class_Descriptor cd_G24x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x1y4, buf);
+ G24x1y4 *dp, &lv = *(dp=new (buf) G24x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y4)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,24), "G24x1y4");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,32), "G24x1y4");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(24,20), "G24x1y4");
+ check_base_class_offset(lv, (D1*)(E24x1*), 0, "G24x1y4");
+ check_base_class_offset(lv, (E24x1*), 0, "G24x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G24x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x1y4.ff");
+ test_class_info(&lv, &cd_G24x1y4);
+ dp->~G24x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y4(Test_G24x1y4, "G24x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y4C1Ev();
+extern void _ZN7G24x1y4D1Ev();
+Name_Map name_map_G24x1y4[] = {
+ NSPAIR(_ZN7G24x1y4C1Ev),
+ NSPAIR(_ZN7G24x1y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x1y4[] = {
+ // 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, 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_C24, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E24x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y4[] = {
+ {&(_ZTV7G24x1y4[4]), 4,10},
+ {&(_tg__ZTV5E24x1__7G24x1y4[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y4[4]), 4,5},
+ {&(_ZTV7G24x1y4[9]), 9,10},
+ {&(_tg__ZTV3C24__7G24x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y4[];
+extern VTBL_ENTRY _ZTV7G24x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y4[];
+Class_Descriptor cd_G24x1y4 = { "G24x1y4", // class name
+ bases_G24x1y4, 6,
+ &(vtc_G24x1y4[0]), // expected_vtbl_contents
+ &(vtt_G24x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y4),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 G24x1y5 : virtual E24x1 , F0 {
+ int ff;
+ ~G24x1y5(); // tgen
+ G24x1y5(); // tgen
+};
+//SIG(1 G24x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x1y5 ::~G24x1y5(){ note_dtor("G24x1y5", this);} // tgen
+G24x1y5 ::G24x1y5(){ note_ctor("G24x1y5", this);} // tgen
+
+static void Test_G24x1y5()
+{
+ extern Class_Descriptor cd_G24x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x1y5, buf);
+ G24x1y5 *dp, &lv = *(dp=new (buf) G24x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y5)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x1y5");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x1y5");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(32,24), "G24x1y5");
+ check_base_class_offset(lv, (D1*)(E24x1*), ABISELECT(16,12), "G24x1y5");
+ check_base_class_offset(lv, (E24x1*), ABISELECT(16,12), "G24x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x1y5.ff");
+ test_class_info(&lv, &cd_G24x1y5);
+ dp->~G24x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y5(Test_G24x1y5, "G24x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y5C1Ev();
+extern void _ZN7G24x1y5D1Ev();
+Name_Map name_map_G24x1y5[] = {
+ NSPAIR(_ZN7G24x1y5C1Ev),
+ NSPAIR(_ZN7G24x1y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x1y5[] = {
+ // 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, 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_C24, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E24x1, 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 _ZTI7G24x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y5[] = {
+ {&(_ZTV7G24x1y5[5]), 5,16},
+ {&(_ZTV7G24x1y5[10]), 10,16},
+ {&(_ZTV7G24x1y5[15]), 15,16},
+ {&(_tg__ZTV5E24x1__7G24x1y5[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y5[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y5[];
+extern VTBL_ENTRY _ZTV7G24x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y5[];
+Class_Descriptor cd_G24x1y5 = { "G24x1y5", // class name
+ bases_G24x1y5, 6,
+ &(vtc_G24x1y5[0]), // expected_vtbl_contents
+ &(vtt_G24x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y5),6, //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 G24x1y6 : E24x1 , virtual F0 {
+ int ff;
+ ~G24x1y6(); // tgen
+ G24x1y6(); // tgen
+};
+//SIG(1 G24x1y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x1y6 ::~G24x1y6(){ note_dtor("G24x1y6", this);} // tgen
+G24x1y6 ::G24x1y6(){ note_ctor("G24x1y6", this);} // tgen
+
+static void Test_G24x1y6()
+{
+ extern Class_Descriptor cd_G24x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x1y6, buf);
+ G24x1y6 *dp, &lv = *(dp=new (buf) G24x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y6)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x1y6");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x1y6");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(24,16), "G24x1y6");
+ check_base_class_offset(lv, (D1*)(E24x1*), 0, "G24x1y6");
+ check_base_class_offset(lv, (E24x1*), 0, "G24x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G24x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x1y6.ff");
+ test_class_info(&lv, &cd_G24x1y6);
+ dp->~G24x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y6(Test_G24x1y6, "G24x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y6C1Ev();
+extern void _ZN7G24x1y6D1Ev();
+Name_Map name_map_G24x1y6[] = {
+ NSPAIR(_ZN7G24x1y6C1Ev),
+ NSPAIR(_ZN7G24x1y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x1y6[] = {
+ // 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, 0},
+ {&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_C24, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E24x1, 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 _ZTI7G24x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y6[] = {
+ {&(_ZTV7G24x1y6[5]), 5,11},
+ {&(_tg__ZTV5E24x1__7G24x1y6[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y6[4]), 4,5},
+ {&(_ZTV7G24x1y6[10]), 10,11},
+ {&(_tg__ZTV3C24__7G24x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y6[];
+extern VTBL_ENTRY _ZTV7G24x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y6[];
+Class_Descriptor cd_G24x1y6 = { "G24x1y6", // class name
+ bases_G24x1y6, 6,
+ &(vtc_G24x1y6[0]), // expected_vtbl_contents
+ &(vtt_G24x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y6),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 G24x1y7 : virtual E24x1 , virtual F0 {
+ int ff;
+ ~G24x1y7(); // tgen
+ G24x1y7(); // tgen
+};
+//SIG(1 G24x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x1y7 ::~G24x1y7(){ note_dtor("G24x1y7", this);} // tgen
+G24x1y7 ::G24x1y7(){ note_ctor("G24x1y7", this);} // tgen
+
+static void Test_G24x1y7()
+{
+ extern Class_Descriptor cd_G24x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x1y7, buf);
+ G24x1y7 *dp, &lv = *(dp=new (buf) G24x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x1y7)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x1y7");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x1y7");
+ check_base_class_offset(lv, (C24*)(E24x1*), ABISELECT(32,20), "G24x1y7");
+ check_base_class_offset(lv, (D1*)(E24x1*), ABISELECT(16,8), "G24x1y7");
+ check_base_class_offset(lv, (E24x1*), ABISELECT(16,8), "G24x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G24x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x1y7.ff");
+ test_class_info(&lv, &cd_G24x1y7);
+ dp->~G24x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x1y7(Test_G24x1y7, "G24x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x1y7C1Ev();
+extern void _ZN7G24x1y7D1Ev();
+Name_Map name_map_G24x1y7[] = {
+ NSPAIR(_ZN7G24x1y7C1Ev),
+ NSPAIR(_ZN7G24x1y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x1;
+extern VTBL_ENTRY _ZTI5E24x1[];
+extern VTBL_ENTRY _ZTV5E24x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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_C24, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E24x1, 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(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 _ZTI7G24x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x1__7G24x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x1__7G24x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x1y7[] = {
+ {&(_ZTV7G24x1y7[6]), 6,17},
+ {&(_ZTV7G24x1y7[11]), 11,17},
+ {&(_ZTV7G24x1y7[16]), 16,17},
+ {&(_tg__ZTV5E24x1__7G24x1y7[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x1__7G24x1y7[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x1y7[];
+extern VTBL_ENTRY _ZTV7G24x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x1y7[];
+Class_Descriptor cd_G24x1y7 = { "G24x1y7", // class name
+ bases_G24x1y7, 6,
+ &(vtc_G24x1y7[0]), // expected_vtbl_contents
+ &(vtt_G24x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x1y7),6, //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 E25x1 : virtual C25 , D1 {
+ int fd;
+ ~E25x1(); // tgen
+ E25x1(); // tgen
+};
+//SIG(-1 E25x1) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E25x1 ::~E25x1(){ note_dtor("E25x1", this);} // tgen
+E25x1 ::E25x1(){ note_ctor("E25x1", this);} // tgen
+
+static void Test_E25x1()
+{
+ extern Class_Descriptor cd_E25x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E25x1, buf);
+ E25x1 *dp, &lv = *(dp=new (buf) E25x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E25x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x1)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "E25x1");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "E25x1");
+ check_base_class_offset(lv, (C25*), ABISELECT(16,12), "E25x1");
+ check_base_class_offset(lv, (D1*), 0, "E25x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E25x1.fd");
+ test_class_info(&lv, &cd_E25x1);
+ dp->~E25x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x1(Test_E25x1, "E25x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E25x1C1Ev();
+extern void _ZN5E25x1D1Ev();
+Name_Map name_map_E25x1[] = {
+ NSPAIR(_ZN5E25x1C1Ev),
+ NSPAIR(_ZN5E25x1D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E25x1[] = {
+ // 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(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_C25, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_E25x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x1[] = {
+ {&(_ZTV5E25x1[4]), 4,10},
+ {&(_ZTV5E25x1[9]), 9,10},
+ {&(_tg__ZTV3C25__5E25x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+Class_Descriptor cd_E25x1 = { "E25x1", // class name
+ bases_E25x1, 4,
+ &(vtc_E25x1[0]), // expected_vtbl_contents
+ &(vtt_E25x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E25x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x1),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 G25x1y0 : E25x1 , F1 {
+ int ff;
+ ~G25x1y0(); // tgen
+ G25x1y0(); // tgen
+};
+//SIG(1 G25x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x1y0 ::~G25x1y0(){ note_dtor("G25x1y0", this);} // tgen
+G25x1y0 ::G25x1y0(){ note_ctor("G25x1y0", this);} // tgen
+
+static void Test_G25x1y0()
+{
+ extern Class_Descriptor cd_G25x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x1y0, buf);
+ G25x1y0 *dp, &lv = *(dp=new (buf) G25x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y0)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x1y0");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x1y0");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(32,24), "G25x1y0");
+ check_base_class_offset(lv, (D1*)(E25x1*), 0, "G25x1y0");
+ check_base_class_offset(lv, (E25x1*), 0, "G25x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G25x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G25x1y0.ff");
+ test_class_info(&lv, &cd_G25x1y0);
+ dp->~G25x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y0(Test_G25x1y0, "G25x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y0C1Ev();
+extern void _ZN7G25x1y0D1Ev();
+Name_Map name_map_G25x1y0[] = {
+ NSPAIR(_ZN7G25x1y0C1Ev),
+ NSPAIR(_ZN7G25x1y0D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y0[] = {
+ {&(_ZTV7G25x1y0[4]), 4,13},
+ {&(_tg__ZTV5E25x1__7G25x1y0[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y0[4]), 4,5},
+ {&(_ZTV7G25x1y0[12]), 12,13},
+ {&(_tg__ZTV3C25__7G25x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y0[];
+extern VTBL_ENTRY _ZTV7G25x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y0[];
+Class_Descriptor cd_G25x1y0 = { "G25x1y0", // class name
+ bases_G25x1y0, 6,
+ &(vtc_G25x1y0[0]), // expected_vtbl_contents
+ &(vtt_G25x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y0),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y0),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 G25x1y1 : virtual E25x1 , F1 {
+ int ff;
+ ~G25x1y1(); // tgen
+ G25x1y1(); // tgen
+};
+//SIG(1 G25x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x1y1 ::~G25x1y1(){ note_dtor("G25x1y1", this);} // tgen
+G25x1y1 ::G25x1y1(){ note_ctor("G25x1y1", this);} // tgen
+
+static void Test_G25x1y1()
+{
+ extern Class_Descriptor cd_G25x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x1y1, buf);
+ G25x1y1 *dp, &lv = *(dp=new (buf) G25x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y1)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x1y1");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x1y1");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(32,24), "G25x1y1");
+ check_base_class_offset(lv, (D1*)(E25x1*), ABISELECT(16,12), "G25x1y1");
+ check_base_class_offset(lv, (E25x1*), ABISELECT(16,12), "G25x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x1y1.ff");
+ test_class_info(&lv, &cd_G25x1y1);
+ dp->~G25x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y1(Test_G25x1y1, "G25x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y1C1Ev();
+extern void _ZN7G25x1y1D1Ev();
+Name_Map name_map_G25x1y1[] = {
+ NSPAIR(_ZN7G25x1y1C1Ev),
+ NSPAIR(_ZN7G25x1y1D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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
+ 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 _ZTI7G25x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y1[] = {
+ {&(_ZTV7G25x1y1[5]), 5,17},
+ {&(_ZTV7G25x1y1[11]), 11,17},
+ {&(_ZTV7G25x1y1[16]), 16,17},
+ {&(_tg__ZTV5E25x1__7G25x1y1[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y1[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y1[];
+extern VTBL_ENTRY _ZTV7G25x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y1[];
+Class_Descriptor cd_G25x1y1 = { "G25x1y1", // class name
+ bases_G25x1y1, 6,
+ &(vtc_G25x1y1[0]), // expected_vtbl_contents
+ &(vtt_G25x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y1),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 G25x1y2 : E25x1 , virtual F1 {
+ int ff;
+ ~G25x1y2(); // tgen
+ G25x1y2(); // tgen
+};
+//SIG(1 G25x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x1y2 ::~G25x1y2(){ note_dtor("G25x1y2", this);} // tgen
+G25x1y2 ::G25x1y2(){ note_ctor("G25x1y2", this);} // tgen
+
+static void Test_G25x1y2()
+{
+ extern Class_Descriptor cd_G25x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x1y2, buf);
+ G25x1y2 *dp, &lv = *(dp=new (buf) G25x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y2)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x1y2");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x1y2");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(24,16), "G25x1y2");
+ check_base_class_offset(lv, (D1*)(E25x1*), 0, "G25x1y2");
+ check_base_class_offset(lv, (E25x1*), 0, "G25x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G25x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x1y2.ff");
+ test_class_info(&lv, &cd_G25x1y2);
+ dp->~G25x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y2(Test_G25x1y2, "G25x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y2C1Ev();
+extern void _ZN7G25x1y2D1Ev();
+Name_Map name_map_G25x1y2[] = {
+ NSPAIR(_ZN7G25x1y2C1Ev),
+ NSPAIR(_ZN7G25x1y2D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C25, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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(48,32), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y2[] = {
+ {&(_ZTV7G25x1y2[5]), 5,15},
+ {&(_tg__ZTV5E25x1__7G25x1y2[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y2[4]), 4,5},
+ {&(_ZTV7G25x1y2[10]), 10,15},
+ {&(_ZTV7G25x1y2[14]), 14,15},
+ {&(_tg__ZTV3C25__7G25x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y2[];
+extern VTBL_ENTRY _ZTV7G25x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y2[];
+Class_Descriptor cd_G25x1y2 = { "G25x1y2", // class name
+ bases_G25x1y2, 6,
+ &(vtc_G25x1y2[0]), // expected_vtbl_contents
+ &(vtt_G25x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y2),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y2),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 G25x1y3 : virtual E25x1 , virtual F1 {
+ int ff;
+ ~G25x1y3(); // tgen
+ G25x1y3(); // tgen
+};
+//SIG(1 G25x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x1y3 ::~G25x1y3(){ note_dtor("G25x1y3", this);} // tgen
+G25x1y3 ::G25x1y3(){ note_ctor("G25x1y3", this);} // tgen
+
+static void Test_G25x1y3()
+{
+ extern Class_Descriptor cd_G25x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x1y3, buf);
+ G25x1y3 *dp, &lv = *(dp=new (buf) G25x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y3)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x1y3");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x1y3");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(32,20), "G25x1y3");
+ check_base_class_offset(lv, (D1*)(E25x1*), ABISELECT(16,8), "G25x1y3");
+ check_base_class_offset(lv, (E25x1*), ABISELECT(16,8), "G25x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x1y3.ff");
+ test_class_info(&lv, &cd_G25x1y3);
+ dp->~G25x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y3(Test_G25x1y3, "G25x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y3C1Ev();
+extern void _ZN7G25x1y3D1Ev();
+Name_Map name_map_G25x1y3[] = {
+ NSPAIR(_ZN7G25x1y3C1Ev),
+ NSPAIR(_ZN7G25x1y3D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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_F1, ABISELECT(56,36), //bcp->offset
+ 17, //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 _ZTI7G25x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y3[] = {
+ {&(_ZTV7G25x1y3[6]), 6,21},
+ {&(_ZTV7G25x1y3[11]), 11,21},
+ {&(_ZTV7G25x1y3[16]), 16,21},
+ {&(_ZTV7G25x1y3[20]), 20,21},
+ {&(_tg__ZTV5E25x1__7G25x1y3[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y3[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y3[];
+extern VTBL_ENTRY _ZTV7G25x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y3[];
+Class_Descriptor cd_G25x1y3 = { "G25x1y3", // class name
+ bases_G25x1y3, 6,
+ &(vtc_G25x1y3[0]), // expected_vtbl_contents
+ &(vtt_G25x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y3),7, //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 G25x1y4 : E25x1 , F0 {
+ int ff;
+ ~G25x1y4(); // tgen
+ G25x1y4(); // tgen
+};
+//SIG(1 G25x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x1y4 ::~G25x1y4(){ note_dtor("G25x1y4", this);} // tgen
+G25x1y4 ::G25x1y4(){ note_ctor("G25x1y4", this);} // tgen
+
+static void Test_G25x1y4()
+{
+ extern Class_Descriptor cd_G25x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x1y4, buf);
+ G25x1y4 *dp, &lv = *(dp=new (buf) G25x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y4)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,20), "G25x1y4");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,32), "G25x1y4");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(24,20), "G25x1y4");
+ check_base_class_offset(lv, (D1*)(E25x1*), 0, "G25x1y4");
+ check_base_class_offset(lv, (E25x1*), 0, "G25x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G25x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x1y4.ff");
+ test_class_info(&lv, &cd_G25x1y4);
+ dp->~G25x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y4(Test_G25x1y4, "G25x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y4C1Ev();
+extern void _ZN7G25x1y4D1Ev();
+Name_Map name_map_G25x1y4[] = {
+ NSPAIR(_ZN7G25x1y4C1Ev),
+ NSPAIR(_ZN7G25x1y4D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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(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_C25, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y4[] = {
+ {&(_ZTV7G25x1y4[4]), 4,10},
+ {&(_tg__ZTV5E25x1__7G25x1y4[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y4[4]), 4,5},
+ {&(_ZTV7G25x1y4[9]), 9,10},
+ {&(_tg__ZTV3C25__7G25x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y4[];
+extern VTBL_ENTRY _ZTV7G25x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y4[];
+Class_Descriptor cd_G25x1y4 = { "G25x1y4", // class name
+ bases_G25x1y4, 6,
+ &(vtc_G25x1y4[0]), // expected_vtbl_contents
+ &(vtt_G25x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y4),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y4),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 G25x1y5 : virtual E25x1 , F0 {
+ int ff;
+ ~G25x1y5(); // tgen
+ G25x1y5(); // tgen
+};
+//SIG(1 G25x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x1y5 ::~G25x1y5(){ note_dtor("G25x1y5", this);} // tgen
+G25x1y5 ::G25x1y5(){ note_ctor("G25x1y5", this);} // tgen
+
+static void Test_G25x1y5()
+{
+ extern Class_Descriptor cd_G25x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x1y5, buf);
+ G25x1y5 *dp, &lv = *(dp=new (buf) G25x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y5)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x1y5");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x1y5");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(32,24), "G25x1y5");
+ check_base_class_offset(lv, (D1*)(E25x1*), ABISELECT(16,12), "G25x1y5");
+ check_base_class_offset(lv, (E25x1*), ABISELECT(16,12), "G25x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x1y5.ff");
+ test_class_info(&lv, &cd_G25x1y5);
+ dp->~G25x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y5(Test_G25x1y5, "G25x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y5C1Ev();
+extern void _ZN7G25x1y5D1Ev();
+Name_Map name_map_G25x1y5[] = {
+ NSPAIR(_ZN7G25x1y5C1Ev),
+ NSPAIR(_ZN7G25x1y5D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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
+ 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 _ZTI7G25x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y5[] = {
+ {&(_ZTV7G25x1y5[5]), 5,16},
+ {&(_ZTV7G25x1y5[10]), 10,16},
+ {&(_ZTV7G25x1y5[15]), 15,16},
+ {&(_tg__ZTV5E25x1__7G25x1y5[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y5[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y5[];
+extern VTBL_ENTRY _ZTV7G25x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y5[];
+Class_Descriptor cd_G25x1y5 = { "G25x1y5", // class name
+ bases_G25x1y5, 6,
+ &(vtc_G25x1y5[0]), // expected_vtbl_contents
+ &(vtt_G25x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y5),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 G25x1y6 : E25x1 , virtual F0 {
+ int ff;
+ ~G25x1y6(); // tgen
+ G25x1y6(); // tgen
+};
+//SIG(1 G25x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x1y6 ::~G25x1y6(){ note_dtor("G25x1y6", this);} // tgen
+G25x1y6 ::G25x1y6(){ note_ctor("G25x1y6", this);} // tgen
+
+static void Test_G25x1y6()
+{
+ extern Class_Descriptor cd_G25x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x1y6, buf);
+ G25x1y6 *dp, &lv = *(dp=new (buf) G25x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y6)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x1y6");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x1y6");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(24,16), "G25x1y6");
+ check_base_class_offset(lv, (D1*)(E25x1*), 0, "G25x1y6");
+ check_base_class_offset(lv, (E25x1*), 0, "G25x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G25x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x1y6.ff");
+ test_class_info(&lv, &cd_G25x1y6);
+ dp->~G25x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y6(Test_G25x1y6, "G25x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y6C1Ev();
+extern void _ZN7G25x1y6D1Ev();
+Name_Map name_map_G25x1y6[] = {
+ NSPAIR(_ZN7G25x1y6C1Ev),
+ NSPAIR(_ZN7G25x1y6D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C25, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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(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 _ZTI7G25x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y6[] = {
+ {&(_ZTV7G25x1y6[5]), 5,11},
+ {&(_tg__ZTV5E25x1__7G25x1y6[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y6[4]), 4,5},
+ {&(_ZTV7G25x1y6[10]), 10,11},
+ {&(_tg__ZTV3C25__7G25x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y6[];
+extern VTBL_ENTRY _ZTV7G25x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y6[];
+Class_Descriptor cd_G25x1y6 = { "G25x1y6", // class name
+ bases_G25x1y6, 6,
+ &(vtc_G25x1y6[0]), // expected_vtbl_contents
+ &(vtt_G25x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y6),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y6),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 G25x1y7 : virtual E25x1 , virtual F0 {
+ int ff;
+ ~G25x1y7(); // tgen
+ G25x1y7(); // tgen
+};
+//SIG(1 G25x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x1y7 ::~G25x1y7(){ note_dtor("G25x1y7", this);} // tgen
+G25x1y7 ::G25x1y7(){ note_ctor("G25x1y7", this);} // tgen
+
+static void Test_G25x1y7()
+{
+ extern Class_Descriptor cd_G25x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x1y7, buf);
+ G25x1y7 *dp, &lv = *(dp=new (buf) G25x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x1y7)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x1y7");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x1y7");
+ check_base_class_offset(lv, (C25*)(E25x1*), ABISELECT(32,20), "G25x1y7");
+ check_base_class_offset(lv, (D1*)(E25x1*), ABISELECT(16,8), "G25x1y7");
+ check_base_class_offset(lv, (E25x1*), ABISELECT(16,8), "G25x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G25x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x1y7.ff");
+ test_class_info(&lv, &cd_G25x1y7);
+ dp->~G25x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x1y7(Test_G25x1y7, "G25x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x1y7C1Ev();
+extern void _ZN7G25x1y7D1Ev();
+Name_Map name_map_G25x1y7[] = {
+ NSPAIR(_ZN7G25x1y7C1Ev),
+ NSPAIR(_ZN7G25x1y7D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x1;
+extern VTBL_ENTRY _ZTI5E25x1[];
+extern VTBL_ENTRY _ZTV5E25x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E25x1, 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
+ 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 _ZTI7G25x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x1__7G25x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x1__7G25x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x1y7[] = {
+ {&(_ZTV7G25x1y7[6]), 6,17},
+ {&(_ZTV7G25x1y7[11]), 11,17},
+ {&(_ZTV7G25x1y7[16]), 16,17},
+ {&(_tg__ZTV5E25x1__7G25x1y7[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x1__7G25x1y7[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x1y7[];
+extern VTBL_ENTRY _ZTV7G25x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x1y7[];
+Class_Descriptor cd_G25x1y7 = { "G25x1y7", // class name
+ bases_G25x1y7, 6,
+ &(vtc_G25x1y7[0]), // expected_vtbl_contents
+ &(vtt_G25x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x1y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x1y7),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 E26x1 : virtual C26 , D1 {
+ int fd;
+ ~E26x1(); // tgen
+ E26x1(); // tgen
+};
+//SIG(-1 E26x1) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E26x1 ::~E26x1(){ note_dtor("E26x1", this);} // tgen
+E26x1 ::E26x1(){ note_ctor("E26x1", this);} // tgen
+
+static void Test_E26x1()
+{
+ extern Class_Descriptor cd_E26x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E26x1, buf);
+ E26x1 *dp, &lv = *(dp=new (buf) E26x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E26x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x1)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "E26x1");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "E26x1");
+ check_base_class_offset(lv, (C26*), ABISELECT(16,12), "E26x1");
+ check_base_class_offset(lv, (D1*), 0, "E26x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E26x1.fd");
+ test_class_info(&lv, &cd_E26x1);
+ dp->~E26x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x1(Test_E26x1, "E26x1", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E26x1C1Ev();
+extern void _ZN5E26x1D1Ev();
+Name_Map name_map_E26x1[] = {
+ NSPAIR(_ZN5E26x1C1Ev),
+ NSPAIR(_ZN5E26x1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E26x1[] = {
+ // 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, 1},
+ {&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_C26, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_E26x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x1[] = {
+ {&(_ZTV5E26x1[5]), 5,12},
+ {&(_ZTV5E26x1[11]), 11,12},
+ {&(_tg__ZTV3C26__5E26x1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+Class_Descriptor cd_E26x1 = { "E26x1", // class name
+ bases_E26x1, 4,
+ &(vtc_E26x1[0]), // expected_vtbl_contents
+ &(vtt_E26x1[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E26x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x1),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 G26x1y0 : E26x1 , F1 {
+ int ff;
+ ~G26x1y0(); // tgen
+ G26x1y0(); // tgen
+};
+//SIG(1 G26x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x1y0 ::~G26x1y0(){ note_dtor("G26x1y0", this);} // tgen
+G26x1y0 ::G26x1y0(){ note_ctor("G26x1y0", this);} // tgen
+
+static void Test_G26x1y0()
+{
+ extern Class_Descriptor cd_G26x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x1y0, buf);
+ G26x1y0 *dp, &lv = *(dp=new (buf) G26x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y0)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x1y0");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x1y0");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(32,24), "G26x1y0");
+ check_base_class_offset(lv, (D1*)(E26x1*), 0, "G26x1y0");
+ check_base_class_offset(lv, (E26x1*), 0, "G26x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G26x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G26x1y0.ff");
+ test_class_info(&lv, &cd_G26x1y0);
+ dp->~G26x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y0(Test_G26x1y0, "G26x1y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y0C1Ev();
+extern void _ZN7G26x1y0D1Ev();
+Name_Map name_map_G26x1y0[] = {
+ NSPAIR(_ZN7G26x1y0C1Ev),
+ NSPAIR(_ZN7G26x1y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E26x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G26x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y0[] = {
+ {&(_ZTV7G26x1y0[5]), 5,15},
+ {&(_tg__ZTV5E26x1__7G26x1y0[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y0[5]), 5,6},
+ {&(_ZTV7G26x1y0[14]), 14,15},
+ {&(_tg__ZTV3C26__7G26x1y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y0[];
+extern VTBL_ENTRY _ZTV7G26x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y0[];
+Class_Descriptor cd_G26x1y0 = { "G26x1y0", // class name
+ bases_G26x1y0, 6,
+ &(vtc_G26x1y0[0]), // expected_vtbl_contents
+ &(vtt_G26x1y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y0),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y0),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 G26x1y1 : virtual E26x1 , F1 {
+ int ff;
+ ~G26x1y1(); // tgen
+ G26x1y1(); // tgen
+};
+//SIG(1 G26x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x1y1 ::~G26x1y1(){ note_dtor("G26x1y1", this);} // tgen
+G26x1y1 ::G26x1y1(){ note_ctor("G26x1y1", this);} // tgen
+
+static void Test_G26x1y1()
+{
+ extern Class_Descriptor cd_G26x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x1y1, buf);
+ G26x1y1 *dp, &lv = *(dp=new (buf) G26x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y1)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x1y1");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x1y1");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(32,24), "G26x1y1");
+ check_base_class_offset(lv, (D1*)(E26x1*), ABISELECT(16,12), "G26x1y1");
+ check_base_class_offset(lv, (E26x1*), ABISELECT(16,12), "G26x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x1y1.ff");
+ test_class_info(&lv, &cd_G26x1y1);
+ dp->~G26x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y1(Test_G26x1y1, "G26x1y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y1C1Ev();
+extern void _ZN7G26x1y1D1Ev();
+Name_Map name_map_G26x1y1[] = {
+ NSPAIR(_ZN7G26x1y1C1Ev),
+ NSPAIR(_ZN7G26x1y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E26x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y1[] = {
+ {&(_ZTV7G26x1y1[6]), 6,20},
+ {&(_ZTV7G26x1y1[13]), 13,20},
+ {&(_ZTV7G26x1y1[19]), 19,20},
+ {&(_tg__ZTV5E26x1__7G26x1y1[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y1[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x1y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y1[];
+extern VTBL_ENTRY _ZTV7G26x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y1[];
+Class_Descriptor cd_G26x1y1 = { "G26x1y1", // class name
+ bases_G26x1y1, 6,
+ &(vtc_G26x1y1[0]), // expected_vtbl_contents
+ &(vtt_G26x1y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y1),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 G26x1y2 : E26x1 , virtual F1 {
+ int ff;
+ ~G26x1y2(); // tgen
+ G26x1y2(); // tgen
+};
+//SIG(1 G26x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x1y2 ::~G26x1y2(){ note_dtor("G26x1y2", this);} // tgen
+G26x1y2 ::G26x1y2(){ note_ctor("G26x1y2", this);} // tgen
+
+static void Test_G26x1y2()
+{
+ extern Class_Descriptor cd_G26x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x1y2, buf);
+ G26x1y2 *dp, &lv = *(dp=new (buf) G26x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y2)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x1y2");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x1y2");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(24,16), "G26x1y2");
+ check_base_class_offset(lv, (D1*)(E26x1*), 0, "G26x1y2");
+ check_base_class_offset(lv, (E26x1*), 0, "G26x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x1y2.ff");
+ test_class_info(&lv, &cd_G26x1y2);
+ dp->~G26x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y2(Test_G26x1y2, "G26x1y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y2C1Ev();
+extern void _ZN7G26x1y2D1Ev();
+Name_Map name_map_G26x1y2[] = {
+ NSPAIR(_ZN7G26x1y2C1Ev),
+ NSPAIR(_ZN7G26x1y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x1y2[] = {
+ // 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_C26, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E26x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 13, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x1y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y2[] = {
+ {&(_ZTV7G26x1y2[6]), 6,17},
+ {&(_tg__ZTV5E26x1__7G26x1y2[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y2[5]), 5,6},
+ {&(_ZTV7G26x1y2[12]), 12,17},
+ {&(_ZTV7G26x1y2[16]), 16,17},
+ {&(_tg__ZTV3C26__7G26x1y2[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y2[];
+extern VTBL_ENTRY _ZTV7G26x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y2[];
+Class_Descriptor cd_G26x1y2 = { "G26x1y2", // class name
+ bases_G26x1y2, 6,
+ &(vtc_G26x1y2[0]), // expected_vtbl_contents
+ &(vtt_G26x1y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y2),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y2),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 G26x1y3 : virtual E26x1 , virtual F1 {
+ int ff;
+ ~G26x1y3(); // tgen
+ G26x1y3(); // tgen
+};
+//SIG(1 G26x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x1y3 ::~G26x1y3(){ note_dtor("G26x1y3", this);} // tgen
+G26x1y3 ::G26x1y3(){ note_ctor("G26x1y3", this);} // tgen
+
+static void Test_G26x1y3()
+{
+ extern Class_Descriptor cd_G26x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x1y3, buf);
+ G26x1y3 *dp, &lv = *(dp=new (buf) G26x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y3)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x1y3");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x1y3");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(32,20), "G26x1y3");
+ check_base_class_offset(lv, (D1*)(E26x1*), ABISELECT(16,8), "G26x1y3");
+ check_base_class_offset(lv, (E26x1*), ABISELECT(16,8), "G26x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x1y3.ff");
+ test_class_info(&lv, &cd_G26x1y3);
+ dp->~G26x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y3(Test_G26x1y3, "G26x1y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y3C1Ev();
+extern void _ZN7G26x1y3D1Ev();
+Name_Map name_map_G26x1y3[] = {
+ NSPAIR(_ZN7G26x1y3C1Ev),
+ NSPAIR(_ZN7G26x1y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E26x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 20, //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 _ZTI7G26x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x1y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y3[] = {
+ {&(_ZTV7G26x1y3[7]), 7,24},
+ {&(_ZTV7G26x1y3[13]), 13,24},
+ {&(_ZTV7G26x1y3[19]), 19,24},
+ {&(_ZTV7G26x1y3[23]), 23,24},
+ {&(_tg__ZTV5E26x1__7G26x1y3[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y3[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x1y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y3[];
+extern VTBL_ENTRY _ZTV7G26x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y3[];
+Class_Descriptor cd_G26x1y3 = { "G26x1y3", // class name
+ bases_G26x1y3, 6,
+ &(vtc_G26x1y3[0]), // expected_vtbl_contents
+ &(vtt_G26x1y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y3),7, //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 G26x1y4 : E26x1 , F0 {
+ int ff;
+ ~G26x1y4(); // tgen
+ G26x1y4(); // tgen
+};
+//SIG(1 G26x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x1y4 ::~G26x1y4(){ note_dtor("G26x1y4", this);} // tgen
+G26x1y4 ::G26x1y4(){ note_ctor("G26x1y4", this);} // tgen
+
+static void Test_G26x1y4()
+{
+ extern Class_Descriptor cd_G26x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x1y4, buf);
+ G26x1y4 *dp, &lv = *(dp=new (buf) G26x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y4)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,28), "G26x1y4");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,32), "G26x1y4");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(24,20), "G26x1y4");
+ check_base_class_offset(lv, (D1*)(E26x1*), 0, "G26x1y4");
+ check_base_class_offset(lv, (E26x1*), 0, "G26x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G26x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x1y4.ff");
+ test_class_info(&lv, &cd_G26x1y4);
+ dp->~G26x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y4(Test_G26x1y4, "G26x1y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y4C1Ev();
+extern void _ZN7G26x1y4D1Ev();
+Name_Map name_map_G26x1y4[] = {
+ NSPAIR(_ZN7G26x1y4C1Ev),
+ NSPAIR(_ZN7G26x1y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x1y4[] = {
+ // 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(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_C26, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E26x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x1y4[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y4[] = {
+ {&(_ZTV7G26x1y4[5]), 5,12},
+ {&(_tg__ZTV5E26x1__7G26x1y4[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y4[5]), 5,6},
+ {&(_ZTV7G26x1y4[11]), 11,12},
+ {&(_tg__ZTV3C26__7G26x1y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y4[];
+extern VTBL_ENTRY _ZTV7G26x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y4[];
+Class_Descriptor cd_G26x1y4 = { "G26x1y4", // class name
+ bases_G26x1y4, 6,
+ &(vtc_G26x1y4[0]), // expected_vtbl_contents
+ &(vtt_G26x1y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y4),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y4),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 G26x1y5 : virtual E26x1 , F0 {
+ int ff;
+ ~G26x1y5(); // tgen
+ G26x1y5(); // tgen
+};
+//SIG(1 G26x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x1y5 ::~G26x1y5(){ note_dtor("G26x1y5", this);} // tgen
+G26x1y5 ::G26x1y5(){ note_ctor("G26x1y5", this);} // tgen
+
+static void Test_G26x1y5()
+{
+ extern Class_Descriptor cd_G26x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x1y5, buf);
+ G26x1y5 *dp, &lv = *(dp=new (buf) G26x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y5)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x1y5");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x1y5");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(32,24), "G26x1y5");
+ check_base_class_offset(lv, (D1*)(E26x1*), ABISELECT(16,12), "G26x1y5");
+ check_base_class_offset(lv, (E26x1*), ABISELECT(16,12), "G26x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x1y5.ff");
+ test_class_info(&lv, &cd_G26x1y5);
+ dp->~G26x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y5(Test_G26x1y5, "G26x1y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y5C1Ev();
+extern void _ZN7G26x1y5D1Ev();
+Name_Map name_map_G26x1y5[] = {
+ NSPAIR(_ZN7G26x1y5C1Ev),
+ NSPAIR(_ZN7G26x1y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E26x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x1y5[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y5[] = {
+ {&(_ZTV7G26x1y5[6]), 6,19},
+ {&(_ZTV7G26x1y5[12]), 12,19},
+ {&(_ZTV7G26x1y5[18]), 18,19},
+ {&(_tg__ZTV5E26x1__7G26x1y5[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y5[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x1y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y5[];
+extern VTBL_ENTRY _ZTV7G26x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y5[];
+Class_Descriptor cd_G26x1y5 = { "G26x1y5", // class name
+ bases_G26x1y5, 6,
+ &(vtc_G26x1y5[0]), // expected_vtbl_contents
+ &(vtt_G26x1y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y5),6, //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 G26x1y6 : E26x1 , virtual F0 {
+ int ff;
+ ~G26x1y6(); // tgen
+ G26x1y6(); // tgen
+};
+//SIG(1 G26x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x1y6 ::~G26x1y6(){ note_dtor("G26x1y6", this);} // tgen
+G26x1y6 ::G26x1y6(){ note_ctor("G26x1y6", this);} // tgen
+
+static void Test_G26x1y6()
+{
+ extern Class_Descriptor cd_G26x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x1y6, buf);
+ G26x1y6 *dp, &lv = *(dp=new (buf) G26x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y6)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x1y6");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x1y6");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(24,16), "G26x1y6");
+ check_base_class_offset(lv, (D1*)(E26x1*), 0, "G26x1y6");
+ check_base_class_offset(lv, (E26x1*), 0, "G26x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x1y6.ff");
+ test_class_info(&lv, &cd_G26x1y6);
+ dp->~G26x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y6(Test_G26x1y6, "G26x1y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y6C1Ev();
+extern void _ZN7G26x1y6D1Ev();
+Name_Map name_map_G26x1y6[] = {
+ NSPAIR(_ZN7G26x1y6C1Ev),
+ NSPAIR(_ZN7G26x1y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x1y6[] = {
+ // 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_C26, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 4, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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_E26x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G26x1y6[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y6[] = {
+ {&(_ZTV7G26x1y6[6]), 6,13},
+ {&(_tg__ZTV5E26x1__7G26x1y6[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y6[5]), 5,6},
+ {&(_ZTV7G26x1y6[12]), 12,13},
+ {&(_tg__ZTV3C26__7G26x1y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y6[];
+extern VTBL_ENTRY _ZTV7G26x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y6[];
+Class_Descriptor cd_G26x1y6 = { "G26x1y6", // class name
+ bases_G26x1y6, 6,
+ &(vtc_G26x1y6[0]), // expected_vtbl_contents
+ &(vtt_G26x1y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y6),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y6),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 G26x1y7 : virtual E26x1 , virtual F0 {
+ int ff;
+ ~G26x1y7(); // tgen
+ G26x1y7(); // tgen
+};
+//SIG(1 G26x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x1y7 ::~G26x1y7(){ note_dtor("G26x1y7", this);} // tgen
+G26x1y7 ::G26x1y7(){ note_ctor("G26x1y7", this);} // tgen
+
+static void Test_G26x1y7()
+{
+ extern Class_Descriptor cd_G26x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x1y7, buf);
+ G26x1y7 *dp, &lv = *(dp=new (buf) G26x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x1y7)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x1y7");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x1y7");
+ check_base_class_offset(lv, (C26*)(E26x1*), ABISELECT(32,20), "G26x1y7");
+ check_base_class_offset(lv, (D1*)(E26x1*), ABISELECT(16,8), "G26x1y7");
+ check_base_class_offset(lv, (E26x1*), ABISELECT(16,8), "G26x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G26x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x1y7.ff");
+ test_class_info(&lv, &cd_G26x1y7);
+ dp->~G26x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x1y7(Test_G26x1y7, "G26x1y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x1y7C1Ev();
+extern void _ZN7G26x1y7D1Ev();
+Name_Map name_map_G26x1y7[] = {
+ NSPAIR(_ZN7G26x1y7C1Ev),
+ NSPAIR(_ZN7G26x1y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x1;
+extern VTBL_ENTRY _ZTI5E26x1[];
+extern VTBL_ENTRY _ZTV5E26x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E26x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x1y7[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x1y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x1__7G26x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x1__7G26x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x1y7[] = {
+ {&(_ZTV7G26x1y7[7]), 7,20},
+ {&(_ZTV7G26x1y7[13]), 13,20},
+ {&(_ZTV7G26x1y7[19]), 19,20},
+ {&(_tg__ZTV5E26x1__7G26x1y7[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x1__7G26x1y7[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x1y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x1y7[];
+extern VTBL_ENTRY _ZTV7G26x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x1y7[];
+Class_Descriptor cd_G26x1y7 = { "G26x1y7", // class name
+ bases_G26x1y7, 6,
+ &(vtc_G26x1y7[0]), // expected_vtbl_contents
+ &(vtt_G26x1y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x1y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x1y7),6, //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 E27x1 : virtual C27 , D1 {
+ int fd;
+ ~E27x1(); // tgen
+ E27x1(); // tgen
+};
+//SIG(-1 E27x1) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E27x1 ::~E27x1(){ note_dtor("E27x1", this);} // tgen
+E27x1 ::E27x1(){ note_ctor("E27x1", this);} // tgen
+
+static void Test_E27x1()
+{
+ extern Class_Descriptor cd_E27x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E27x1, buf);
+ E27x1 *dp, &lv = *(dp=new (buf) E27x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E27x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x1)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "E27x1");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "E27x1");
+ check_base_class_offset(lv, (C27*), ABISELECT(16,12), "E27x1");
+ check_base_class_offset(lv, (D1*), 0, "E27x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E27x1.fd");
+ test_class_info(&lv, &cd_E27x1);
+ dp->~E27x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x1(Test_E27x1, "E27x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E27x1C1Ev();
+extern void _ZN5E27x1D1Ev();
+Name_Map name_map_E27x1[] = {
+ NSPAIR(_ZN5E27x1C1Ev),
+ NSPAIR(_ZN5E27x1D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E27x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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_C27, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern void _ZN2D13fooEv();
+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_E27x1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__5E27x1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x1[] = {
+ {&(_ZTV5E27x1[5]), 5,16},
+ {&(_ZTV5E27x1[11]), 11,16},
+ {&(_ZTV5E27x1[15]), 15,16},
+ {&(_tg__ZTV3C27__5E27x1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+static VTBL_ENTRY alt_thunk_names89[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E27x1 = { "E27x1", // class name
+ bases_E27x1, 4,
+ &(vtc_E27x1[0]), // expected_vtbl_contents
+ &(vtt_E27x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E27x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x1),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names89,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y0 : E27x1 , F1 {
+ int ff;
+ ~G27x1y0(); // tgen
+ G27x1y0(); // tgen
+};
+//SIG(1 G27x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x1y0 ::~G27x1y0(){ note_dtor("G27x1y0", this);} // tgen
+G27x1y0 ::G27x1y0(){ note_ctor("G27x1y0", this);} // tgen
+
+static void Test_G27x1y0()
+{
+ extern Class_Descriptor cd_G27x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x1y0, buf);
+ G27x1y0 *dp, &lv = *(dp=new (buf) G27x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y0)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x1y0");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x1y0");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(32,24), "G27x1y0");
+ check_base_class_offset(lv, (D1*)(E27x1*), 0, "G27x1y0");
+ check_base_class_offset(lv, (E27x1*), 0, "G27x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G27x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G27x1y0.ff");
+ test_class_info(&lv, &cd_G27x1y0);
+ dp->~G27x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y0(Test_G27x1y0, "G27x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y0C1Ev();
+extern void _ZN7G27x1y0D1Ev();
+Name_Map name_map_G27x1y0[] = {
+ NSPAIR(_ZN7G27x1y0C1Ev),
+ NSPAIR(_ZN7G27x1y0D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x1y0[] = {
+ // 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)
+ 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_C27, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G27x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G27x1y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y0[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y0[] = {
+ {&(_ZTV7G27x1y0[5]), 5,19},
+ {&(_tg__ZTV5E27x1__7G27x1y0[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y0[3]), 3,4},
+ {&(_ZTV7G27x1y0[14]), 14,19},
+ {&(_ZTV7G27x1y0[18]), 18,19},
+ {&(_tg__ZTV3C27__7G27x1y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y0[];
+extern VTBL_ENTRY _ZTV7G27x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y0[];
+static VTBL_ENTRY alt_thunk_names90[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y0 = { "G27x1y0", // class name
+ bases_G27x1y0, 6,
+ &(vtc_G27x1y0[0]), // expected_vtbl_contents
+ &(vtt_G27x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y0),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names90,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y1 : virtual E27x1 , F1 {
+ int ff;
+ ~G27x1y1(); // tgen
+ G27x1y1(); // tgen
+};
+//SIG(1 G27x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x1y1 ::~G27x1y1(){ note_dtor("G27x1y1", this);} // tgen
+G27x1y1 ::G27x1y1(){ note_ctor("G27x1y1", this);} // tgen
+
+static void Test_G27x1y1()
+{
+ extern Class_Descriptor cd_G27x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x1y1, buf);
+ G27x1y1 *dp, &lv = *(dp=new (buf) G27x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y1)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x1y1");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x1y1");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(32,24), "G27x1y1");
+ check_base_class_offset(lv, (D1*)(E27x1*), ABISELECT(16,12), "G27x1y1");
+ check_base_class_offset(lv, (E27x1*), ABISELECT(16,12), "G27x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x1y1.ff");
+ test_class_info(&lv, &cd_G27x1y1);
+ dp->~G27x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y1(Test_G27x1y1, "G27x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y1C1Ev();
+extern void _ZN7G27x1y1D1Ev();
+Name_Map name_map_G27x1y1[] = {
+ NSPAIR(_ZN7G27x1y1C1Ev),
+ NSPAIR(_ZN7G27x1y1D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 20, //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(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_C27, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G27x1y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y1[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y1[] = {
+ {&(_ZTV7G27x1y1[6]), 6,24},
+ {&(_ZTV7G27x1y1[13]), 13,24},
+ {&(_ZTV7G27x1y1[19]), 19,24},
+ {&(_ZTV7G27x1y1[23]), 23,24},
+ {&(_tg__ZTV5E27x1__7G27x1y1[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y1[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x1y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y1[];
+extern VTBL_ENTRY _ZTV7G27x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y1[];
+static VTBL_ENTRY alt_thunk_names91[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y1 = { "G27x1y1", // class name
+ bases_G27x1y1, 6,
+ &(vtc_G27x1y1[0]), // expected_vtbl_contents
+ &(vtt_G27x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y1),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names91,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y2 : E27x1 , virtual F1 {
+ int ff;
+ ~G27x1y2(); // tgen
+ G27x1y2(); // tgen
+};
+//SIG(1 G27x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x1y2 ::~G27x1y2(){ note_dtor("G27x1y2", this);} // tgen
+G27x1y2 ::G27x1y2(){ note_ctor("G27x1y2", this);} // tgen
+
+static void Test_G27x1y2()
+{
+ extern Class_Descriptor cd_G27x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x1y2, buf);
+ G27x1y2 *dp, &lv = *(dp=new (buf) G27x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y2)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x1y2");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x1y2");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(24,16), "G27x1y2");
+ check_base_class_offset(lv, (D1*)(E27x1*), 0, "G27x1y2");
+ check_base_class_offset(lv, (E27x1*), 0, "G27x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x1y2.ff");
+ test_class_info(&lv, &cd_G27x1y2);
+ dp->~G27x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y2(Test_G27x1y2, "G27x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y2C1Ev();
+extern void _ZN7G27x1y2D1Ev();
+Name_Map name_map_G27x1y2[] = {
+ NSPAIR(_ZN7G27x1y2C1Ev),
+ NSPAIR(_ZN7G27x1y2D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 13, //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_C27, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 17, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y2[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y2[] = {
+ {&(_ZTV7G27x1y2[6]), 6,21},
+ {&(_tg__ZTV5E27x1__7G27x1y2[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y2[3]), 3,4},
+ {&(_ZTV7G27x1y2[12]), 12,21},
+ {&(_ZTV7G27x1y2[16]), 16,21},
+ {&(_ZTV7G27x1y2[20]), 20,21},
+ {&(_tg__ZTV3C27__7G27x1y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y2[];
+extern VTBL_ENTRY _ZTV7G27x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y2[];
+static VTBL_ENTRY alt_thunk_names92[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y2 = { "G27x1y2", // class name
+ bases_G27x1y2, 6,
+ &(vtc_G27x1y2[0]), // expected_vtbl_contents
+ &(vtt_G27x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y2),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names92,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y3 : virtual E27x1 , virtual F1 {
+ int ff;
+ ~G27x1y3(); // tgen
+ G27x1y3(); // tgen
+};
+//SIG(1 G27x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x1y3 ::~G27x1y3(){ note_dtor("G27x1y3", this);} // tgen
+G27x1y3 ::G27x1y3(){ note_ctor("G27x1y3", this);} // tgen
+
+static void Test_G27x1y3()
+{
+ extern Class_Descriptor cd_G27x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x1y3, buf);
+ G27x1y3 *dp, &lv = *(dp=new (buf) G27x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y3)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x1y3");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x1y3");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(32,20), "G27x1y3");
+ check_base_class_offset(lv, (D1*)(E27x1*), ABISELECT(16,8), "G27x1y3");
+ check_base_class_offset(lv, (E27x1*), ABISELECT(16,8), "G27x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G27x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x1y3.ff");
+ test_class_info(&lv, &cd_G27x1y3);
+ dp->~G27x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y3(Test_G27x1y3, "G27x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y3C1Ev();
+extern void _ZN7G27x1y3D1Ev();
+Name_Map name_map_G27x1y3[] = {
+ NSPAIR(_ZN7G27x1y3C1Ev),
+ NSPAIR(_ZN7G27x1y3D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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(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_C27, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 24, //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 _ZTI7G27x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y3[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y3[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y3[] = {
+ {&(_ZTV7G27x1y3[7]), 7,28},
+ {&(_ZTV7G27x1y3[13]), 13,28},
+ {&(_ZTV7G27x1y3[19]), 19,28},
+ {&(_ZTV7G27x1y3[23]), 23,28},
+ {&(_ZTV7G27x1y3[27]), 27,28},
+ {&(_tg__ZTV5E27x1__7G27x1y3[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y3[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x1y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y3[];
+extern VTBL_ENTRY _ZTV7G27x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y3[];
+static VTBL_ENTRY alt_thunk_names93[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y3 = { "G27x1y3", // class name
+ bases_G27x1y3, 6,
+ &(vtc_G27x1y3[0]), // expected_vtbl_contents
+ &(vtt_G27x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y3),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names93,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y4 : E27x1 , F0 {
+ int ff;
+ ~G27x1y4(); // tgen
+ G27x1y4(); // tgen
+};
+//SIG(1 G27x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x1y4 ::~G27x1y4(){ note_dtor("G27x1y4", this);} // tgen
+G27x1y4 ::G27x1y4(){ note_ctor("G27x1y4", this);} // tgen
+
+static void Test_G27x1y4()
+{
+ extern Class_Descriptor cd_G27x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x1y4, buf);
+ G27x1y4 *dp, &lv = *(dp=new (buf) G27x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y4)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,28), "G27x1y4");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,36), "G27x1y4");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(24,20), "G27x1y4");
+ check_base_class_offset(lv, (D1*)(E27x1*), 0, "G27x1y4");
+ check_base_class_offset(lv, (E27x1*), 0, "G27x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G27x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x1y4.ff");
+ test_class_info(&lv, &cd_G27x1y4);
+ dp->~G27x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y4(Test_G27x1y4, "G27x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y4C1Ev();
+extern void _ZN7G27x1y4D1Ev();
+Name_Map name_map_G27x1y4[] = {
+ NSPAIR(_ZN7G27x1y4C1Ev),
+ NSPAIR(_ZN7G27x1y4D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,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
+ 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_C27, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x1y4[];
+extern void _ZN2D13fooEv();
+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_G27x1y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y4[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y4[] = {
+ {&(_ZTV7G27x1y4[5]), 5,16},
+ {&(_tg__ZTV5E27x1__7G27x1y4[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y4[3]), 3,4},
+ {&(_ZTV7G27x1y4[11]), 11,16},
+ {&(_ZTV7G27x1y4[15]), 15,16},
+ {&(_tg__ZTV3C27__7G27x1y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y4[];
+extern VTBL_ENTRY _ZTV7G27x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y4[];
+static VTBL_ENTRY alt_thunk_names94[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y4 = { "G27x1y4", // class name
+ bases_G27x1y4, 6,
+ &(vtc_G27x1y4[0]), // expected_vtbl_contents
+ &(vtt_G27x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y4),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names94,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y5 : virtual E27x1 , F0 {
+ int ff;
+ ~G27x1y5(); // tgen
+ G27x1y5(); // tgen
+};
+//SIG(1 G27x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x1y5 ::~G27x1y5(){ note_dtor("G27x1y5", this);} // tgen
+G27x1y5 ::G27x1y5(){ note_ctor("G27x1y5", this);} // tgen
+
+static void Test_G27x1y5()
+{
+ extern Class_Descriptor cd_G27x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x1y5, buf);
+ G27x1y5 *dp, &lv = *(dp=new (buf) G27x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y5)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x1y5");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x1y5");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(32,24), "G27x1y5");
+ check_base_class_offset(lv, (D1*)(E27x1*), ABISELECT(16,12), "G27x1y5");
+ check_base_class_offset(lv, (E27x1*), ABISELECT(16,12), "G27x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x1y5.ff");
+ test_class_info(&lv, &cd_G27x1y5);
+ dp->~G27x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y5(Test_G27x1y5, "G27x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y5C1Ev();
+extern void _ZN7G27x1y5D1Ev();
+Name_Map name_map_G27x1y5[] = {
+ NSPAIR(_ZN7G27x1y5C1Ev),
+ NSPAIR(_ZN7G27x1y5D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //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
+ 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_C27, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x1y5[];
+extern void _ZN2D13fooEv();
+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_G27x1y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y5[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y5[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y5[] = {
+ {&(_ZTV7G27x1y5[6]), 6,23},
+ {&(_ZTV7G27x1y5[12]), 12,23},
+ {&(_ZTV7G27x1y5[18]), 18,23},
+ {&(_ZTV7G27x1y5[22]), 22,23},
+ {&(_tg__ZTV5E27x1__7G27x1y5[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y5[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x1y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y5[];
+extern VTBL_ENTRY _ZTV7G27x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y5[];
+static VTBL_ENTRY alt_thunk_names95[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y5 = { "G27x1y5", // class name
+ bases_G27x1y5, 6,
+ &(vtc_G27x1y5[0]), // expected_vtbl_contents
+ &(vtt_G27x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y5),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names95,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y6 : E27x1 , virtual F0 {
+ int ff;
+ ~G27x1y6(); // tgen
+ G27x1y6(); // tgen
+};
+//SIG(1 G27x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x1y6 ::~G27x1y6(){ note_dtor("G27x1y6", this);} // tgen
+G27x1y6 ::G27x1y6(){ note_ctor("G27x1y6", this);} // tgen
+
+static void Test_G27x1y6()
+{
+ extern Class_Descriptor cd_G27x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x1y6, buf);
+ G27x1y6 *dp, &lv = *(dp=new (buf) G27x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y6)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x1y6");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x1y6");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(24,16), "G27x1y6");
+ check_base_class_offset(lv, (D1*)(E27x1*), 0, "G27x1y6");
+ check_base_class_offset(lv, (E27x1*), 0, "G27x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G27x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x1y6.ff");
+ test_class_info(&lv, &cd_G27x1y6);
+ dp->~G27x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y6(Test_G27x1y6, "G27x1y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y6C1Ev();
+extern void _ZN7G27x1y6D1Ev();
+Name_Map name_map_G27x1y6[] = {
+ NSPAIR(_ZN7G27x1y6C1Ev),
+ NSPAIR(_ZN7G27x1y6D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 13, //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_C27, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G27x1y6[];
+extern void _ZN2D13fooEv();
+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_G27x1y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y6[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y6[] = {
+ {&(_ZTV7G27x1y6[6]), 6,17},
+ {&(_tg__ZTV5E27x1__7G27x1y6[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y6[3]), 3,4},
+ {&(_ZTV7G27x1y6[12]), 12,17},
+ {&(_ZTV7G27x1y6[16]), 16,17},
+ {&(_tg__ZTV3C27__7G27x1y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y6[];
+extern VTBL_ENTRY _ZTV7G27x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y6[];
+static VTBL_ENTRY alt_thunk_names96[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y6 = { "G27x1y6", // class name
+ bases_G27x1y6, 6,
+ &(vtc_G27x1y6[0]), // expected_vtbl_contents
+ &(vtt_G27x1y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y6),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names96,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x1y7 : virtual E27x1 , virtual F0 {
+ int ff;
+ ~G27x1y7(); // tgen
+ G27x1y7(); // tgen
+};
+//SIG(1 G27x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x1y7 ::~G27x1y7(){ note_dtor("G27x1y7", this);} // tgen
+G27x1y7 ::G27x1y7(){ note_ctor("G27x1y7", this);} // tgen
+
+static void Test_G27x1y7()
+{
+ extern Class_Descriptor cd_G27x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x1y7, buf);
+ G27x1y7 *dp, &lv = *(dp=new (buf) G27x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x1y7)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x1y7");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x1y7");
+ check_base_class_offset(lv, (C27*)(E27x1*), ABISELECT(32,20), "G27x1y7");
+ check_base_class_offset(lv, (D1*)(E27x1*), ABISELECT(16,8), "G27x1y7");
+ check_base_class_offset(lv, (E27x1*), ABISELECT(16,8), "G27x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G27x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x1y7.ff");
+ test_class_info(&lv, &cd_G27x1y7);
+ dp->~G27x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x1y7(Test_G27x1y7, "G27x1y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x1y7C1Ev();
+extern void _ZN7G27x1y7D1Ev();
+Name_Map name_map_G27x1y7[] = {
+ NSPAIR(_ZN7G27x1y7C1Ev),
+ NSPAIR(_ZN7G27x1y7D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x1;
+extern VTBL_ENTRY _ZTI5E27x1[];
+extern VTBL_ENTRY _ZTV5E27x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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(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_C27, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E27x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x1y7[];
+extern void _ZN2D13fooEv();
+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_G27x1y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x1y7[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x1__7G27x1y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x1__7G27x1y7[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x1__7G27x1y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x1y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x1y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x1y7[] = {
+ {&(_ZTV7G27x1y7[7]), 7,24},
+ {&(_ZTV7G27x1y7[13]), 13,24},
+ {&(_ZTV7G27x1y7[19]), 19,24},
+ {&(_ZTV7G27x1y7[23]), 23,24},
+ {&(_tg__ZTV5E27x1__7G27x1y7[5]), 5,6},
+ {&(_tg__ZTV3C27__5E27x1__7G27x1y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x1__7G27x1y7[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x1y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x1y7[];
+extern VTBL_ENTRY _ZTV7G27x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x1y7[];
+static VTBL_ENTRY alt_thunk_names97[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x1y7 = { "G27x1y7", // class name
+ bases_G27x1y7, 6,
+ &(vtc_G27x1y7[0]), // expected_vtbl_contents
+ &(vtt_G27x1y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x1y7),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x1y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names97,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x1 : virtual C28 , D1 {
+ int fd;
+ ~E28x1(); // tgen
+ E28x1(); // tgen
+};
+//SIG(-1 E28x1) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E28x1 ::~E28x1(){ note_dtor("E28x1", this);} // tgen
+E28x1 ::E28x1(){ note_ctor("E28x1", this);} // tgen
+
+static void Test_E28x1()
+{
+ extern Class_Descriptor cd_E28x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E28x1, buf);
+ E28x1 *dp, &lv = *(dp=new (buf) E28x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E28x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x1)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "E28x1");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "E28x1");
+ check_base_class_offset(lv, (C28*), ABISELECT(16,12), "E28x1");
+ check_base_class_offset(lv, (D1*), 0, "E28x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E28x1.fd");
+ test_class_info(&lv, &cd_E28x1);
+ dp->~E28x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x1(Test_E28x1, "E28x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E28x1C1Ev();
+extern void _ZN5E28x1D1Ev();
+Name_Map name_map_E28x1[] = {
+ NSPAIR(_ZN5E28x1C1Ev),
+ NSPAIR(_ZN5E28x1D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E28x1[] = {
+ // 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(32,24), //bcp->offset
+ 10, //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_C28, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern void _ZN2D13fooEv();
+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_E28x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__5E28x1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x1[] = {
+ {&(_ZTV5E28x1[4]), 4,14},
+ {&(_ZTV5E28x1[9]), 9,14},
+ {&(_ZTV5E28x1[13]), 13,14},
+ {&(_tg__ZTV3C28__5E28x1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+static VTBL_ENTRY alt_thunk_names98[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E28x1 = { "E28x1", // class name
+ bases_E28x1, 4,
+ &(vtc_E28x1[0]), // expected_vtbl_contents
+ &(vtt_E28x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E28x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x1),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names98,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y0 : E28x1 , F1 {
+ int ff;
+ ~G28x1y0(); // tgen
+ G28x1y0(); // tgen
+};
+//SIG(1 G28x1y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x1y0 ::~G28x1y0(){ note_dtor("G28x1y0", this);} // tgen
+G28x1y0 ::G28x1y0(){ note_ctor("G28x1y0", this);} // tgen
+
+static void Test_G28x1y0()
+{
+ extern Class_Descriptor cd_G28x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x1y0, buf);
+ G28x1y0 *dp, &lv = *(dp=new (buf) G28x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y0)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x1y0");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x1y0");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(32,24), "G28x1y0");
+ check_base_class_offset(lv, (D1*)(E28x1*), 0, "G28x1y0");
+ check_base_class_offset(lv, (E28x1*), 0, "G28x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G28x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G28x1y0.ff");
+ test_class_info(&lv, &cd_G28x1y0);
+ dp->~G28x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y0(Test_G28x1y0, "G28x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y0C1Ev();
+extern void _ZN7G28x1y0D1Ev();
+Name_Map name_map_G28x1y0[] = {
+ NSPAIR(_ZN7G28x1y0C1Ev),
+ NSPAIR(_ZN7G28x1y0D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x1y0[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 13, //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_C28, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G28x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y0[] = {
+ {&(_ZTV7G28x1y0[4]), 4,17},
+ {&(_tg__ZTV5E28x1__7G28x1y0[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y0[3]), 3,4},
+ {&(_ZTV7G28x1y0[12]), 12,17},
+ {&(_ZTV7G28x1y0[16]), 16,17},
+ {&(_tg__ZTV3C28__7G28x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y0[];
+extern VTBL_ENTRY _ZTV7G28x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y0[];
+static VTBL_ENTRY alt_thunk_names99[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y0 = { "G28x1y0", // class name
+ bases_G28x1y0, 6,
+ &(vtc_G28x1y0[0]), // expected_vtbl_contents
+ &(vtt_G28x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names99,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y1 : virtual E28x1 , F1 {
+ int ff;
+ ~G28x1y1(); // tgen
+ G28x1y1(); // tgen
+};
+//SIG(1 G28x1y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x1y1 ::~G28x1y1(){ note_dtor("G28x1y1", this);} // tgen
+G28x1y1 ::G28x1y1(){ note_ctor("G28x1y1", this);} // tgen
+
+static void Test_G28x1y1()
+{
+ extern Class_Descriptor cd_G28x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x1y1, buf);
+ G28x1y1 *dp, &lv = *(dp=new (buf) G28x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y1)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x1y1");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x1y1");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(32,24), "G28x1y1");
+ check_base_class_offset(lv, (D1*)(E28x1*), ABISELECT(16,12), "G28x1y1");
+ check_base_class_offset(lv, (E28x1*), ABISELECT(16,12), "G28x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x1y1.ff");
+ test_class_info(&lv, &cd_G28x1y1);
+ dp->~G28x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y1(Test_G28x1y1, "G28x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y1C1Ev();
+extern void _ZN7G28x1y1D1Ev();
+Name_Map name_map_G28x1y1[] = {
+ NSPAIR(_ZN7G28x1y1C1Ev),
+ NSPAIR(_ZN7G28x1y1D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x1y1[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 17, //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_C28, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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 _ZTI7G28x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G28x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y1[] = {
+ {&(_ZTV7G28x1y1[5]), 5,21},
+ {&(_ZTV7G28x1y1[11]), 11,21},
+ {&(_ZTV7G28x1y1[16]), 16,21},
+ {&(_ZTV7G28x1y1[20]), 20,21},
+ {&(_tg__ZTV5E28x1__7G28x1y1[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y1[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y1[];
+extern VTBL_ENTRY _ZTV7G28x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y1[];
+static VTBL_ENTRY alt_thunk_names100[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y1 = { "G28x1y1", // class name
+ bases_G28x1y1, 6,
+ &(vtc_G28x1y1[0]), // expected_vtbl_contents
+ &(vtt_G28x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names100,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y2 : E28x1 , virtual F1 {
+ int ff;
+ ~G28x1y2(); // tgen
+ G28x1y2(); // tgen
+};
+//SIG(1 G28x1y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x1y2 ::~G28x1y2(){ note_dtor("G28x1y2", this);} // tgen
+G28x1y2 ::G28x1y2(){ note_ctor("G28x1y2", this);} // tgen
+
+static void Test_G28x1y2()
+{
+ extern Class_Descriptor cd_G28x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x1y2, buf);
+ G28x1y2 *dp, &lv = *(dp=new (buf) G28x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y2)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x1y2");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x1y2");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(24,16), "G28x1y2");
+ check_base_class_offset(lv, (D1*)(E28x1*), 0, "G28x1y2");
+ check_base_class_offset(lv, (E28x1*), 0, "G28x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x1y2.ff");
+ test_class_info(&lv, &cd_G28x1y2);
+ dp->~G28x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y2(Test_G28x1y2, "G28x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y2C1Ev();
+extern void _ZN7G28x1y2D1Ev();
+Name_Map name_map_G28x1y2[] = {
+ NSPAIR(_ZN7G28x1y2C1Ev),
+ NSPAIR(_ZN7G28x1y2D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x1y2[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C28, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y2[] = {
+ {&(_ZTV7G28x1y2[5]), 5,19},
+ {&(_tg__ZTV5E28x1__7G28x1y2[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y2[3]), 3,4},
+ {&(_ZTV7G28x1y2[10]), 10,19},
+ {&(_ZTV7G28x1y2[14]), 14,19},
+ {&(_ZTV7G28x1y2[18]), 18,19},
+ {&(_tg__ZTV3C28__7G28x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y2[];
+extern VTBL_ENTRY _ZTV7G28x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y2[];
+static VTBL_ENTRY alt_thunk_names101[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y2 = { "G28x1y2", // class name
+ bases_G28x1y2, 6,
+ &(vtc_G28x1y2[0]), // expected_vtbl_contents
+ &(vtt_G28x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names101,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y3 : virtual E28x1 , virtual F1 {
+ int ff;
+ ~G28x1y3(); // tgen
+ G28x1y3(); // tgen
+};
+//SIG(1 G28x1y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x1y3 ::~G28x1y3(){ note_dtor("G28x1y3", this);} // tgen
+G28x1y3 ::G28x1y3(){ note_ctor("G28x1y3", this);} // tgen
+
+static void Test_G28x1y3()
+{
+ extern Class_Descriptor cd_G28x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x1y3, buf);
+ G28x1y3 *dp, &lv = *(dp=new (buf) G28x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y3)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x1y3");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x1y3");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(32,20), "G28x1y3");
+ check_base_class_offset(lv, (D1*)(E28x1*), ABISELECT(16,8), "G28x1y3");
+ check_base_class_offset(lv, (E28x1*), ABISELECT(16,8), "G28x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G28x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x1y3.ff");
+ test_class_info(&lv, &cd_G28x1y3);
+ dp->~G28x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y3(Test_G28x1y3, "G28x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y3C1Ev();
+extern void _ZN7G28x1y3D1Ev();
+Name_Map name_map_G28x1y3[] = {
+ NSPAIR(_ZN7G28x1y3C1Ev),
+ NSPAIR(_ZN7G28x1y3D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C28, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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
+ 21, //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 _ZTI7G28x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y3[] = {
+ {&(_ZTV7G28x1y3[6]), 6,25},
+ {&(_ZTV7G28x1y3[11]), 11,25},
+ {&(_ZTV7G28x1y3[16]), 16,25},
+ {&(_ZTV7G28x1y3[20]), 20,25},
+ {&(_ZTV7G28x1y3[24]), 24,25},
+ {&(_tg__ZTV5E28x1__7G28x1y3[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y3[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y3[];
+extern VTBL_ENTRY _ZTV7G28x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y3[];
+static VTBL_ENTRY alt_thunk_names102[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y3 = { "G28x1y3", // class name
+ bases_G28x1y3, 6,
+ &(vtc_G28x1y3[0]), // expected_vtbl_contents
+ &(vtt_G28x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names102,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y4 : E28x1 , F0 {
+ int ff;
+ ~G28x1y4(); // tgen
+ G28x1y4(); // tgen
+};
+//SIG(1 G28x1y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x1y4 ::~G28x1y4(){ note_dtor("G28x1y4", this);} // tgen
+G28x1y4 ::G28x1y4(){ note_ctor("G28x1y4", this);} // tgen
+
+static void Test_G28x1y4()
+{
+ extern Class_Descriptor cd_G28x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x1y4, buf);
+ G28x1y4 *dp, &lv = *(dp=new (buf) G28x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y4)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,24), "G28x1y4");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,32), "G28x1y4");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(24,20), "G28x1y4");
+ check_base_class_offset(lv, (D1*)(E28x1*), 0, "G28x1y4");
+ check_base_class_offset(lv, (E28x1*), 0, "G28x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G28x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x1y4.ff");
+ test_class_info(&lv, &cd_G28x1y4);
+ dp->~G28x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y4(Test_G28x1y4, "G28x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y4C1Ev();
+extern void _ZN7G28x1y4D1Ev();
+Name_Map name_map_G28x1y4[] = {
+ NSPAIR(_ZN7G28x1y4C1Ev),
+ NSPAIR(_ZN7G28x1y4D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x1y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,32), //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_C28, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x1y4[];
+extern void _ZN2D13fooEv();
+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_G28x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y4[] = {
+ {&(_ZTV7G28x1y4[4]), 4,14},
+ {&(_tg__ZTV5E28x1__7G28x1y4[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y4[3]), 3,4},
+ {&(_ZTV7G28x1y4[9]), 9,14},
+ {&(_ZTV7G28x1y4[13]), 13,14},
+ {&(_tg__ZTV3C28__7G28x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y4[];
+extern VTBL_ENTRY _ZTV7G28x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y4[];
+static VTBL_ENTRY alt_thunk_names103[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y4 = { "G28x1y4", // class name
+ bases_G28x1y4, 6,
+ &(vtc_G28x1y4[0]), // expected_vtbl_contents
+ &(vtt_G28x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names103,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y5 : virtual E28x1 , F0 {
+ int ff;
+ ~G28x1y5(); // tgen
+ G28x1y5(); // tgen
+};
+//SIG(1 G28x1y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x1y5 ::~G28x1y5(){ note_dtor("G28x1y5", this);} // tgen
+G28x1y5 ::G28x1y5(){ note_ctor("G28x1y5", this);} // tgen
+
+static void Test_G28x1y5()
+{
+ extern Class_Descriptor cd_G28x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x1y5, buf);
+ G28x1y5 *dp, &lv = *(dp=new (buf) G28x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y5)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x1y5");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x1y5");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(32,24), "G28x1y5");
+ check_base_class_offset(lv, (D1*)(E28x1*), ABISELECT(16,12), "G28x1y5");
+ check_base_class_offset(lv, (E28x1*), ABISELECT(16,12), "G28x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x1y5.ff");
+ test_class_info(&lv, &cd_G28x1y5);
+ dp->~G28x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y5(Test_G28x1y5, "G28x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y5C1Ev();
+extern void _ZN7G28x1y5D1Ev();
+Name_Map name_map_G28x1y5[] = {
+ NSPAIR(_ZN7G28x1y5C1Ev),
+ NSPAIR(_ZN7G28x1y5D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x1y5[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 16, //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_C28, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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 _ZTI7G28x1y5[];
+extern void _ZN2D13fooEv();
+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_G28x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y5[] = {
+ {&(_ZTV7G28x1y5[5]), 5,20},
+ {&(_ZTV7G28x1y5[10]), 10,20},
+ {&(_ZTV7G28x1y5[15]), 15,20},
+ {&(_ZTV7G28x1y5[19]), 19,20},
+ {&(_tg__ZTV5E28x1__7G28x1y5[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y5[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y5[];
+extern VTBL_ENTRY _ZTV7G28x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y5[];
+static VTBL_ENTRY alt_thunk_names104[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y5 = { "G28x1y5", // class name
+ bases_G28x1y5, 6,
+ &(vtc_G28x1y5[0]), // expected_vtbl_contents
+ &(vtt_G28x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names104,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y6 : E28x1 , virtual F0 {
+ int ff;
+ ~G28x1y6(); // tgen
+ G28x1y6(); // tgen
+};
+//SIG(1 G28x1y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x1y6 ::~G28x1y6(){ note_dtor("G28x1y6", this);} // tgen
+G28x1y6 ::G28x1y6(){ note_ctor("G28x1y6", this);} // tgen
+
+static void Test_G28x1y6()
+{
+ extern Class_Descriptor cd_G28x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x1y6, buf);
+ G28x1y6 *dp, &lv = *(dp=new (buf) G28x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y6)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x1y6");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x1y6");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(24,16), "G28x1y6");
+ check_base_class_offset(lv, (D1*)(E28x1*), 0, "G28x1y6");
+ check_base_class_offset(lv, (E28x1*), 0, "G28x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G28x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x1y6.ff");
+ test_class_info(&lv, &cd_G28x1y6);
+ dp->~G28x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y6(Test_G28x1y6, "G28x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y6C1Ev();
+extern void _ZN7G28x1y6D1Ev();
+Name_Map name_map_G28x1y6[] = {
+ NSPAIR(_ZN7G28x1y6C1Ev),
+ NSPAIR(_ZN7G28x1y6D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x1y6[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C28, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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 _ZTI7G28x1y6[];
+extern void _ZN2D13fooEv();
+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_G28x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y6[] = {
+ {&(_ZTV7G28x1y6[5]), 5,15},
+ {&(_tg__ZTV5E28x1__7G28x1y6[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y6[3]), 3,4},
+ {&(_ZTV7G28x1y6[10]), 10,15},
+ {&(_ZTV7G28x1y6[14]), 14,15},
+ {&(_tg__ZTV3C28__7G28x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y6[];
+extern VTBL_ENTRY _ZTV7G28x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y6[];
+static VTBL_ENTRY alt_thunk_names105[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y6 = { "G28x1y6", // class name
+ bases_G28x1y6, 6,
+ &(vtc_G28x1y6[0]), // expected_vtbl_contents
+ &(vtt_G28x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names105,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x1y7 : virtual E28x1 , virtual F0 {
+ int ff;
+ ~G28x1y7(); // tgen
+ G28x1y7(); // tgen
+};
+//SIG(1 G28x1y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x1y7 ::~G28x1y7(){ note_dtor("G28x1y7", this);} // tgen
+G28x1y7 ::G28x1y7(){ note_ctor("G28x1y7", this);} // tgen
+
+static void Test_G28x1y7()
+{
+ extern Class_Descriptor cd_G28x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x1y7, buf);
+ G28x1y7 *dp, &lv = *(dp=new (buf) G28x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x1y7)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x1y7");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x1y7");
+ check_base_class_offset(lv, (C28*)(E28x1*), ABISELECT(32,20), "G28x1y7");
+ check_base_class_offset(lv, (D1*)(E28x1*), ABISELECT(16,8), "G28x1y7");
+ check_base_class_offset(lv, (E28x1*), ABISELECT(16,8), "G28x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G28x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x1y7.ff");
+ test_class_info(&lv, &cd_G28x1y7);
+ dp->~G28x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x1y7(Test_G28x1y7, "G28x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x1y7C1Ev();
+extern void _ZN7G28x1y7D1Ev();
+Name_Map name_map_G28x1y7[] = {
+ NSPAIR(_ZN7G28x1y7C1Ev),
+ NSPAIR(_ZN7G28x1y7D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x1;
+extern VTBL_ENTRY _ZTI5E28x1[];
+extern VTBL_ENTRY _ZTV5E28x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C28, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E28x1, 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(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 _ZTI7G28x1y7[];
+extern void _ZN2D13fooEv();
+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_G28x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x1__7G28x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x1__7G28x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x1__7G28x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x1y7[] = {
+ {&(_ZTV7G28x1y7[6]), 6,21},
+ {&(_ZTV7G28x1y7[11]), 11,21},
+ {&(_ZTV7G28x1y7[16]), 16,21},
+ {&(_ZTV7G28x1y7[20]), 20,21},
+ {&(_tg__ZTV5E28x1__7G28x1y7[4]), 4,5},
+ {&(_tg__ZTV3C28__5E28x1__7G28x1y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x1__7G28x1y7[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x1y7[];
+extern VTBL_ENTRY _ZTV7G28x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x1y7[];
+static VTBL_ENTRY alt_thunk_names106[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x1y7 = { "G28x1y7", // class name
+ bases_G28x1y7, 6,
+ &(vtc_G28x1y7[0]), // expected_vtbl_contents
+ &(vtt_G28x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x1y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names106,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x1 : virtual C29 , D1 {
+ int fd;
+ ~E29x1(); // tgen
+ E29x1(); // tgen
+};
+//SIG(-1 E29x1) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E29x1 ::~E29x1(){ note_dtor("E29x1", this);} // tgen
+E29x1 ::E29x1(){ note_ctor("E29x1", this);} // tgen
+
+static void Test_E29x1()
+{
+ extern Class_Descriptor cd_E29x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E29x1, buf);
+ E29x1 *dp, &lv = *(dp=new (buf) E29x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E29x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x1)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "E29x1");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "E29x1");
+ check_base_class_offset(lv, (C29*), ABISELECT(16,12), "E29x1");
+ check_base_class_offset(lv, (D1*), 0, "E29x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E29x1.fd");
+ test_class_info(&lv, &cd_E29x1);
+ dp->~E29x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x1(Test_E29x1, "E29x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E29x1C1Ev();
+extern void _ZN5E29x1D1Ev();
+Name_Map name_map_E29x1[] = {
+ NSPAIR(_ZN5E29x1C1Ev),
+ NSPAIR(_ZN5E29x1D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E29x1[] = {
+ // 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(32,24), //bcp->offset
+ 10, //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_C29, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern void _ZN2D13fooEv();
+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_E29x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__5E29x1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x1[] = {
+ {&(_ZTV5E29x1[4]), 4,14},
+ {&(_ZTV5E29x1[9]), 9,14},
+ {&(_ZTV5E29x1[13]), 13,14},
+ {&(_tg__ZTV3C29__5E29x1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+static VTBL_ENTRY alt_thunk_names107[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E29x1 = { "E29x1", // class name
+ bases_E29x1, 4,
+ &(vtc_E29x1[0]), // expected_vtbl_contents
+ &(vtt_E29x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E29x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x1),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names107,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y0 : E29x1 , F1 {
+ int ff;
+ ~G29x1y0(); // tgen
+ G29x1y0(); // tgen
+};
+//SIG(1 G29x1y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x1y0 ::~G29x1y0(){ note_dtor("G29x1y0", this);} // tgen
+G29x1y0 ::G29x1y0(){ note_ctor("G29x1y0", this);} // tgen
+
+static void Test_G29x1y0()
+{
+ extern Class_Descriptor cd_G29x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x1y0, buf);
+ G29x1y0 *dp, &lv = *(dp=new (buf) G29x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y0)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x1y0");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x1y0");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(32,24), "G29x1y0");
+ check_base_class_offset(lv, (D1*)(E29x1*), 0, "G29x1y0");
+ check_base_class_offset(lv, (E29x1*), 0, "G29x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G29x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G29x1y0.ff");
+ test_class_info(&lv, &cd_G29x1y0);
+ dp->~G29x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y0(Test_G29x1y0, "G29x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y0C1Ev();
+extern void _ZN7G29x1y0D1Ev();
+Name_Map name_map_G29x1y0[] = {
+ NSPAIR(_ZN7G29x1y0C1Ev),
+ NSPAIR(_ZN7G29x1y0D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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)
+ 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_C29, ABISELECT(32,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G29x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y0[] = {
+ {&(_ZTV7G29x1y0[4]), 4,17},
+ {&(_tg__ZTV5E29x1__7G29x1y0[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y0[3]), 3,4},
+ {&(_ZTV7G29x1y0[12]), 12,17},
+ {&(_ZTV7G29x1y0[16]), 16,17},
+ {&(_tg__ZTV3C29__7G29x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y0[];
+extern VTBL_ENTRY _ZTV7G29x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y0[];
+static VTBL_ENTRY alt_thunk_names108[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y0 = { "G29x1y0", // class name
+ bases_G29x1y0, 6,
+ &(vtc_G29x1y0[0]), // expected_vtbl_contents
+ &(vtt_G29x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y0),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y0),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names108,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y1 : virtual E29x1 , F1 {
+ int ff;
+ ~G29x1y1(); // tgen
+ G29x1y1(); // tgen
+};
+//SIG(1 G29x1y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x1y1 ::~G29x1y1(){ note_dtor("G29x1y1", this);} // tgen
+G29x1y1 ::G29x1y1(){ note_ctor("G29x1y1", this);} // tgen
+
+static void Test_G29x1y1()
+{
+ extern Class_Descriptor cd_G29x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x1y1, buf);
+ G29x1y1 *dp, &lv = *(dp=new (buf) G29x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y1)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x1y1");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x1y1");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(32,24), "G29x1y1");
+ check_base_class_offset(lv, (D1*)(E29x1*), ABISELECT(16,12), "G29x1y1");
+ check_base_class_offset(lv, (E29x1*), ABISELECT(16,12), "G29x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x1y1.ff");
+ test_class_info(&lv, &cd_G29x1y1);
+ dp->~G29x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y1(Test_G29x1y1, "G29x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y1C1Ev();
+extern void _ZN7G29x1y1D1Ev();
+Name_Map name_map_G29x1y1[] = {
+ NSPAIR(_ZN7G29x1y1C1Ev),
+ NSPAIR(_ZN7G29x1y1D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 17, //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_C29, ABISELECT(32,24), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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
+ 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 _ZTI7G29x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G29x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y1[] = {
+ {&(_ZTV7G29x1y1[5]), 5,21},
+ {&(_ZTV7G29x1y1[11]), 11,21},
+ {&(_ZTV7G29x1y1[16]), 16,21},
+ {&(_ZTV7G29x1y1[20]), 20,21},
+ {&(_tg__ZTV5E29x1__7G29x1y1[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y1[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y1[];
+extern VTBL_ENTRY _ZTV7G29x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y1[];
+static VTBL_ENTRY alt_thunk_names109[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y1 = { "G29x1y1", // class name
+ bases_G29x1y1, 6,
+ &(vtc_G29x1y1[0]), // expected_vtbl_contents
+ &(vtt_G29x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y1),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names109,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y2 : E29x1 , virtual F1 {
+ int ff;
+ ~G29x1y2(); // tgen
+ G29x1y2(); // tgen
+};
+//SIG(1 G29x1y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x1y2 ::~G29x1y2(){ note_dtor("G29x1y2", this);} // tgen
+G29x1y2 ::G29x1y2(){ note_ctor("G29x1y2", this);} // tgen
+
+static void Test_G29x1y2()
+{
+ extern Class_Descriptor cd_G29x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x1y2, buf);
+ G29x1y2 *dp, &lv = *(dp=new (buf) G29x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y2)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x1y2");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x1y2");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(24,16), "G29x1y2");
+ check_base_class_offset(lv, (D1*)(E29x1*), 0, "G29x1y2");
+ check_base_class_offset(lv, (E29x1*), 0, "G29x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x1y2.ff");
+ test_class_info(&lv, &cd_G29x1y2);
+ dp->~G29x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y2(Test_G29x1y2, "G29x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y2C1Ev();
+extern void _ZN7G29x1y2D1Ev();
+Name_Map name_map_G29x1y2[] = {
+ NSPAIR(_ZN7G29x1y2C1Ev),
+ NSPAIR(_ZN7G29x1y2D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C29, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y2[] = {
+ {&(_ZTV7G29x1y2[5]), 5,19},
+ {&(_tg__ZTV5E29x1__7G29x1y2[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y2[3]), 3,4},
+ {&(_ZTV7G29x1y2[10]), 10,19},
+ {&(_ZTV7G29x1y2[14]), 14,19},
+ {&(_ZTV7G29x1y2[18]), 18,19},
+ {&(_tg__ZTV3C29__7G29x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y2[];
+extern VTBL_ENTRY _ZTV7G29x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y2[];
+static VTBL_ENTRY alt_thunk_names110[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y2 = { "G29x1y2", // class name
+ bases_G29x1y2, 6,
+ &(vtc_G29x1y2[0]), // expected_vtbl_contents
+ &(vtt_G29x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y2),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y2),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names110,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y3 : virtual E29x1 , virtual F1 {
+ int ff;
+ ~G29x1y3(); // tgen
+ G29x1y3(); // tgen
+};
+//SIG(1 G29x1y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x1y3 ::~G29x1y3(){ note_dtor("G29x1y3", this);} // tgen
+G29x1y3 ::G29x1y3(){ note_ctor("G29x1y3", this);} // tgen
+
+static void Test_G29x1y3()
+{
+ extern Class_Descriptor cd_G29x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x1y3, buf);
+ G29x1y3 *dp, &lv = *(dp=new (buf) G29x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y3)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x1y3");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x1y3");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(32,20), "G29x1y3");
+ check_base_class_offset(lv, (D1*)(E29x1*), ABISELECT(16,8), "G29x1y3");
+ check_base_class_offset(lv, (E29x1*), ABISELECT(16,8), "G29x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G29x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x1y3.ff");
+ test_class_info(&lv, &cd_G29x1y3);
+ dp->~G29x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y3(Test_G29x1y3, "G29x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y3C1Ev();
+extern void _ZN7G29x1y3D1Ev();
+Name_Map name_map_G29x1y3[] = {
+ NSPAIR(_ZN7G29x1y3C1Ev),
+ NSPAIR(_ZN7G29x1y3D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C29, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 21, //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 _ZTI7G29x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y3[] = {
+ {&(_ZTV7G29x1y3[6]), 6,25},
+ {&(_ZTV7G29x1y3[11]), 11,25},
+ {&(_ZTV7G29x1y3[16]), 16,25},
+ {&(_ZTV7G29x1y3[20]), 20,25},
+ {&(_ZTV7G29x1y3[24]), 24,25},
+ {&(_tg__ZTV5E29x1__7G29x1y3[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y3[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y3[];
+extern VTBL_ENTRY _ZTV7G29x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y3[];
+static VTBL_ENTRY alt_thunk_names111[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y3 = { "G29x1y3", // class name
+ bases_G29x1y3, 6,
+ &(vtc_G29x1y3[0]), // expected_vtbl_contents
+ &(vtt_G29x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y3),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names111,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y4 : E29x1 , F0 {
+ int ff;
+ ~G29x1y4(); // tgen
+ G29x1y4(); // tgen
+};
+//SIG(1 G29x1y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x1y4 ::~G29x1y4(){ note_dtor("G29x1y4", this);} // tgen
+G29x1y4 ::G29x1y4(){ note_ctor("G29x1y4", this);} // tgen
+
+static void Test_G29x1y4()
+{
+ extern Class_Descriptor cd_G29x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x1y4, buf);
+ G29x1y4 *dp, &lv = *(dp=new (buf) G29x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y4)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,20), "G29x1y4");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,32), "G29x1y4");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(24,20), "G29x1y4");
+ check_base_class_offset(lv, (D1*)(E29x1*), 0, "G29x1y4");
+ check_base_class_offset(lv, (E29x1*), 0, "G29x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G29x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x1y4.ff");
+ test_class_info(&lv, &cd_G29x1y4);
+ dp->~G29x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y4(Test_G29x1y4, "G29x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y4C1Ev();
+extern void _ZN7G29x1y4D1Ev();
+Name_Map name_map_G29x1y4[] = {
+ NSPAIR(_ZN7G29x1y4C1Ev),
+ NSPAIR(_ZN7G29x1y4D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,32), //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_C29, ABISELECT(24,20), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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_F0, 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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x1y4[];
+extern void _ZN2D13fooEv();
+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_G29x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y4[] = {
+ {&(_ZTV7G29x1y4[4]), 4,14},
+ {&(_tg__ZTV5E29x1__7G29x1y4[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y4[3]), 3,4},
+ {&(_ZTV7G29x1y4[9]), 9,14},
+ {&(_ZTV7G29x1y4[13]), 13,14},
+ {&(_tg__ZTV3C29__7G29x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y4[];
+extern VTBL_ENTRY _ZTV7G29x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y4[];
+static VTBL_ENTRY alt_thunk_names112[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y4 = { "G29x1y4", // class name
+ bases_G29x1y4, 6,
+ &(vtc_G29x1y4[0]), // expected_vtbl_contents
+ &(vtt_G29x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y4),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y4),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names112,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y5 : virtual E29x1 , F0 {
+ int ff;
+ ~G29x1y5(); // tgen
+ G29x1y5(); // tgen
+};
+//SIG(1 G29x1y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x1y5 ::~G29x1y5(){ note_dtor("G29x1y5", this);} // tgen
+G29x1y5 ::G29x1y5(){ note_ctor("G29x1y5", this);} // tgen
+
+static void Test_G29x1y5()
+{
+ extern Class_Descriptor cd_G29x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x1y5, buf);
+ G29x1y5 *dp, &lv = *(dp=new (buf) G29x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y5)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x1y5");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x1y5");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(32,24), "G29x1y5");
+ check_base_class_offset(lv, (D1*)(E29x1*), ABISELECT(16,12), "G29x1y5");
+ check_base_class_offset(lv, (E29x1*), ABISELECT(16,12), "G29x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x1y5.ff");
+ test_class_info(&lv, &cd_G29x1y5);
+ dp->~G29x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y5(Test_G29x1y5, "G29x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y5C1Ev();
+extern void _ZN7G29x1y5D1Ev();
+Name_Map name_map_G29x1y5[] = {
+ NSPAIR(_ZN7G29x1y5C1Ev),
+ NSPAIR(_ZN7G29x1y5D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,36), //bcp->offset
+ 16, //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_C29, ABISELECT(32,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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
+ 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 _ZTI7G29x1y5[];
+extern void _ZN2D13fooEv();
+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_G29x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y5[] = {
+ {&(_ZTV7G29x1y5[5]), 5,20},
+ {&(_ZTV7G29x1y5[10]), 10,20},
+ {&(_ZTV7G29x1y5[15]), 15,20},
+ {&(_ZTV7G29x1y5[19]), 19,20},
+ {&(_tg__ZTV5E29x1__7G29x1y5[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y5[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y5[];
+extern VTBL_ENTRY _ZTV7G29x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y5[];
+static VTBL_ENTRY alt_thunk_names113[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y5 = { "G29x1y5", // class name
+ bases_G29x1y5, 6,
+ &(vtc_G29x1y5[0]), // expected_vtbl_contents
+ &(vtt_G29x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y5),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names113,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y6 : E29x1 , virtual F0 {
+ int ff;
+ ~G29x1y6(); // tgen
+ G29x1y6(); // tgen
+};
+//SIG(1 G29x1y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x1y6 ::~G29x1y6(){ note_dtor("G29x1y6", this);} // tgen
+G29x1y6 ::G29x1y6(){ note_ctor("G29x1y6", this);} // tgen
+
+static void Test_G29x1y6()
+{
+ extern Class_Descriptor cd_G29x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x1y6, buf);
+ G29x1y6 *dp, &lv = *(dp=new (buf) G29x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y6)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x1y6");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x1y6");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(24,16), "G29x1y6");
+ check_base_class_offset(lv, (D1*)(E29x1*), 0, "G29x1y6");
+ check_base_class_offset(lv, (E29x1*), 0, "G29x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G29x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x1y6.ff");
+ test_class_info(&lv, &cd_G29x1y6);
+ dp->~G29x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y6(Test_G29x1y6, "G29x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y6C1Ev();
+extern void _ZN7G29x1y6D1Ev();
+Name_Map name_map_G29x1y6[] = {
+ NSPAIR(_ZN7G29x1y6C1Ev),
+ NSPAIR(_ZN7G29x1y6D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C29, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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_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 _ZTI7G29x1y6[];
+extern void _ZN2D13fooEv();
+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_G29x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y6[] = {
+ {&(_ZTV7G29x1y6[5]), 5,15},
+ {&(_tg__ZTV5E29x1__7G29x1y6[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y6[3]), 3,4},
+ {&(_ZTV7G29x1y6[10]), 10,15},
+ {&(_ZTV7G29x1y6[14]), 14,15},
+ {&(_tg__ZTV3C29__7G29x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y6[];
+extern VTBL_ENTRY _ZTV7G29x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y6[];
+static VTBL_ENTRY alt_thunk_names114[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y6 = { "G29x1y6", // class name
+ bases_G29x1y6, 6,
+ &(vtc_G29x1y6[0]), // expected_vtbl_contents
+ &(vtt_G29x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y6),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y6),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names114,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x1y7 : virtual E29x1 , virtual F0 {
+ int ff;
+ ~G29x1y7(); // tgen
+ G29x1y7(); // tgen
+};
+//SIG(1 G29x1y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x1y7 ::~G29x1y7(){ note_dtor("G29x1y7", this);} // tgen
+G29x1y7 ::G29x1y7(){ note_ctor("G29x1y7", this);} // tgen
+
+static void Test_G29x1y7()
+{
+ extern Class_Descriptor cd_G29x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x1y7, buf);
+ G29x1y7 *dp, &lv = *(dp=new (buf) G29x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x1y7)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x1y7");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x1y7");
+ check_base_class_offset(lv, (C29*)(E29x1*), ABISELECT(32,20), "G29x1y7");
+ check_base_class_offset(lv, (D1*)(E29x1*), ABISELECT(16,8), "G29x1y7");
+ check_base_class_offset(lv, (E29x1*), ABISELECT(16,8), "G29x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G29x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x1y7.ff");
+ test_class_info(&lv, &cd_G29x1y7);
+ dp->~G29x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x1y7(Test_G29x1y7, "G29x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x1y7C1Ev();
+extern void _ZN7G29x1y7D1Ev();
+Name_Map name_map_G29x1y7[] = {
+ NSPAIR(_ZN7G29x1y7C1Ev),
+ NSPAIR(_ZN7G29x1y7D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x1;
+extern VTBL_ENTRY _ZTI5E29x1[];
+extern VTBL_ENTRY _ZTV5E29x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C29, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E29x1, 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
+ 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 _ZTI7G29x1y7[];
+extern void _ZN2D13fooEv();
+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_G29x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x1__7G29x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x1__7G29x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x1__7G29x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x1y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x1y7[] = {
+ {&(_ZTV7G29x1y7[6]), 6,21},
+ {&(_ZTV7G29x1y7[11]), 11,21},
+ {&(_ZTV7G29x1y7[16]), 16,21},
+ {&(_ZTV7G29x1y7[20]), 20,21},
+ {&(_tg__ZTV5E29x1__7G29x1y7[4]), 4,5},
+ {&(_tg__ZTV3C29__5E29x1__7G29x1y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x1__7G29x1y7[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x1y7[];
+extern VTBL_ENTRY _ZTV7G29x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x1y7[];
+static VTBL_ENTRY alt_thunk_names115[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x1y7 = { "G29x1y7", // class name
+ bases_G29x1y7, 6,
+ &(vtc_G29x1y7[0]), // expected_vtbl_contents
+ &(vtt_G29x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x1y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x1y7),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names115,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x1 : virtual C30 , D1 {
+ int fd;
+ ~E30x1(); // tgen
+ E30x1(); // tgen
+};
+//SIG(-1 E30x1) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E30x1 ::~E30x1(){ note_dtor("E30x1", this);} // tgen
+E30x1 ::E30x1(){ note_ctor("E30x1", this);} // tgen
+
+static void Test_E30x1()
+{
+ extern Class_Descriptor cd_E30x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E30x1, buf);
+ E30x1 *dp, &lv = *(dp=new (buf) E30x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E30x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x1)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "E30x1");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "E30x1");
+ check_base_class_offset(lv, (C30*), ABISELECT(16,12), "E30x1");
+ check_base_class_offset(lv, (D1*), 0, "E30x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E30x1.fd");
+ test_class_info(&lv, &cd_E30x1);
+ dp->~E30x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x1(Test_E30x1, "E30x1", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E30x1C1Ev();
+extern void _ZN5E30x1D1Ev();
+Name_Map name_map_E30x1[] = {
+ NSPAIR(_ZN5E30x1C1Ev),
+ NSPAIR(_ZN5E30x1D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E30x1[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //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_C30, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern void _ZN2D13fooEv();
+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_E30x1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__5E30x1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x1[] = {
+ {&(_ZTV5E30x1[5]), 5,16},
+ {&(_ZTV5E30x1[11]), 11,16},
+ {&(_ZTV5E30x1[15]), 15,16},
+ {&(_tg__ZTV3C30__5E30x1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+static VTBL_ENTRY alt_thunk_names116[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E30x1 = { "E30x1", // class name
+ bases_E30x1, 4,
+ &(vtc_E30x1[0]), // expected_vtbl_contents
+ &(vtt_E30x1[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E30x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x1),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names116,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y0 : E30x1 , F1 {
+ int ff;
+ ~G30x1y0(); // tgen
+ G30x1y0(); // tgen
+};
+//SIG(1 G30x1y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x1y0 ::~G30x1y0(){ note_dtor("G30x1y0", this);} // tgen
+G30x1y0 ::G30x1y0(){ note_ctor("G30x1y0", this);} // tgen
+
+static void Test_G30x1y0()
+{
+ extern Class_Descriptor cd_G30x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x1y0, buf);
+ G30x1y0 *dp, &lv = *(dp=new (buf) G30x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y0)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x1y0");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x1y0");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(32,24), "G30x1y0");
+ check_base_class_offset(lv, (D1*)(E30x1*), 0, "G30x1y0");
+ check_base_class_offset(lv, (E30x1*), 0, "G30x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G30x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G30x1y0.ff");
+ test_class_info(&lv, &cd_G30x1y0);
+ dp->~G30x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y0(Test_G30x1y0, "G30x1y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y0C1Ev();
+extern void _ZN7G30x1y0D1Ev();
+Name_Map name_map_G30x1y0[] = {
+ NSPAIR(_ZN7G30x1y0C1Ev),
+ NSPAIR(_ZN7G30x1y0D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x1y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //bcp->offset
+ 15, //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_C30, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G30x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G30x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y0[] = {
+ {&(_ZTV7G30x1y0[5]), 5,19},
+ {&(_tg__ZTV5E30x1__7G30x1y0[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y0[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y0[3]), 3,4},
+ {&(_ZTV7G30x1y0[14]), 14,19},
+ {&(_ZTV7G30x1y0[18]), 18,19},
+ {&(_tg__ZTV3C30__7G30x1y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y0[];
+extern VTBL_ENTRY _ZTV7G30x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y0[];
+static VTBL_ENTRY alt_thunk_names117[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y0 = { "G30x1y0", // class name
+ bases_G30x1y0, 6,
+ &(vtc_G30x1y0[0]), // expected_vtbl_contents
+ &(vtt_G30x1y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y0),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names117,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y1 : virtual E30x1 , F1 {
+ int ff;
+ ~G30x1y1(); // tgen
+ G30x1y1(); // tgen
+};
+//SIG(1 G30x1y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x1y1 ::~G30x1y1(){ note_dtor("G30x1y1", this);} // tgen
+G30x1y1 ::G30x1y1(){ note_ctor("G30x1y1", this);} // tgen
+
+static void Test_G30x1y1()
+{
+ extern Class_Descriptor cd_G30x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x1y1, buf);
+ G30x1y1 *dp, &lv = *(dp=new (buf) G30x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y1)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x1y1");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x1y1");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(32,24), "G30x1y1");
+ check_base_class_offset(lv, (D1*)(E30x1*), ABISELECT(16,12), "G30x1y1");
+ check_base_class_offset(lv, (E30x1*), ABISELECT(16,12), "G30x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x1y1.ff");
+ test_class_info(&lv, &cd_G30x1y1);
+ dp->~G30x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y1(Test_G30x1y1, "G30x1y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y1C1Ev();
+extern void _ZN7G30x1y1D1Ev();
+Name_Map name_map_G30x1y1[] = {
+ NSPAIR(_ZN7G30x1y1C1Ev),
+ NSPAIR(_ZN7G30x1y1D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //bcp->offset
+ 20, //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_C30, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G30x1y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y1[] = {
+ {&(_ZTV7G30x1y1[6]), 6,24},
+ {&(_ZTV7G30x1y1[13]), 13,24},
+ {&(_ZTV7G30x1y1[19]), 19,24},
+ {&(_ZTV7G30x1y1[23]), 23,24},
+ {&(_tg__ZTV5E30x1__7G30x1y1[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y1[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y1[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x1y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y1[];
+extern VTBL_ENTRY _ZTV7G30x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y1[];
+static VTBL_ENTRY alt_thunk_names118[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y1 = { "G30x1y1", // class name
+ bases_G30x1y1, 6,
+ &(vtc_G30x1y1[0]), // expected_vtbl_contents
+ &(vtt_G30x1y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y1),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names118,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y2 : E30x1 , virtual F1 {
+ int ff;
+ ~G30x1y2(); // tgen
+ G30x1y2(); // tgen
+};
+//SIG(1 G30x1y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x1y2 ::~G30x1y2(){ note_dtor("G30x1y2", this);} // tgen
+G30x1y2 ::G30x1y2(){ note_ctor("G30x1y2", this);} // tgen
+
+static void Test_G30x1y2()
+{
+ extern Class_Descriptor cd_G30x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x1y2, buf);
+ G30x1y2 *dp, &lv = *(dp=new (buf) G30x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y2)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x1y2");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x1y2");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(24,16), "G30x1y2");
+ check_base_class_offset(lv, (D1*)(E30x1*), 0, "G30x1y2");
+ check_base_class_offset(lv, (E30x1*), 0, "G30x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x1y2.ff");
+ test_class_info(&lv, &cd_G30x1y2);
+ dp->~G30x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y2(Test_G30x1y2, "G30x1y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y2C1Ev();
+extern void _ZN7G30x1y2D1Ev();
+Name_Map name_map_G30x1y2[] = {
+ NSPAIR(_ZN7G30x1y2C1Ev),
+ NSPAIR(_ZN7G30x1y2D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x1y2[] = {
+ // 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
+ 13, //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_C30, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 17, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x1y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x1y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y2[] = {
+ {&(_ZTV7G30x1y2[6]), 6,21},
+ {&(_tg__ZTV5E30x1__7G30x1y2[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y2[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y2[3]), 3,4},
+ {&(_ZTV7G30x1y2[12]), 12,21},
+ {&(_ZTV7G30x1y2[16]), 16,21},
+ {&(_ZTV7G30x1y2[20]), 20,21},
+ {&(_tg__ZTV3C30__7G30x1y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y2[];
+extern VTBL_ENTRY _ZTV7G30x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y2[];
+static VTBL_ENTRY alt_thunk_names119[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y2 = { "G30x1y2", // class name
+ bases_G30x1y2, 6,
+ &(vtc_G30x1y2[0]), // expected_vtbl_contents
+ &(vtt_G30x1y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y2),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names119,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y3 : virtual E30x1 , virtual F1 {
+ int ff;
+ ~G30x1y3(); // tgen
+ G30x1y3(); // tgen
+};
+//SIG(1 G30x1y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x1y3 ::~G30x1y3(){ note_dtor("G30x1y3", this);} // tgen
+G30x1y3 ::G30x1y3(){ note_ctor("G30x1y3", this);} // tgen
+
+static void Test_G30x1y3()
+{
+ extern Class_Descriptor cd_G30x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x1y3, buf);
+ G30x1y3 *dp, &lv = *(dp=new (buf) G30x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y3)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x1y3");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x1y3");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(32,20), "G30x1y3");
+ check_base_class_offset(lv, (D1*)(E30x1*), ABISELECT(16,8), "G30x1y3");
+ check_base_class_offset(lv, (E30x1*), ABISELECT(16,8), "G30x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G30x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x1y3.ff");
+ test_class_info(&lv, &cd_G30x1y3);
+ dp->~G30x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y3(Test_G30x1y3, "G30x1y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y3C1Ev();
+extern void _ZN7G30x1y3D1Ev();
+Name_Map name_map_G30x1y3[] = {
+ NSPAIR(_ZN7G30x1y3C1Ev),
+ NSPAIR(_ZN7G30x1y3D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 20, //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_C30, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 24, //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 _ZTI7G30x1y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x1y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y3[] = {
+ {&(_ZTV7G30x1y3[7]), 7,28},
+ {&(_ZTV7G30x1y3[13]), 13,28},
+ {&(_ZTV7G30x1y3[19]), 19,28},
+ {&(_ZTV7G30x1y3[23]), 23,28},
+ {&(_ZTV7G30x1y3[27]), 27,28},
+ {&(_tg__ZTV5E30x1__7G30x1y3[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y3[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y3[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x1y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y3[];
+extern VTBL_ENTRY _ZTV7G30x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y3[];
+static VTBL_ENTRY alt_thunk_names120[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y3 = { "G30x1y3", // class name
+ bases_G30x1y3, 6,
+ &(vtc_G30x1y3[0]), // expected_vtbl_contents
+ &(vtt_G30x1y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y3),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names120,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y4 : E30x1 , F0 {
+ int ff;
+ ~G30x1y4(); // tgen
+ G30x1y4(); // tgen
+};
+//SIG(1 G30x1y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x1y4 ::~G30x1y4(){ note_dtor("G30x1y4", this);} // tgen
+G30x1y4 ::G30x1y4(){ note_ctor("G30x1y4", this);} // tgen
+
+static void Test_G30x1y4()
+{
+ extern Class_Descriptor cd_G30x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x1y4, buf);
+ G30x1y4 *dp, &lv = *(dp=new (buf) G30x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y4)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,28), "G30x1y4");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,32), "G30x1y4");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(24,20), "G30x1y4");
+ check_base_class_offset(lv, (D1*)(E30x1*), 0, "G30x1y4");
+ check_base_class_offset(lv, (E30x1*), 0, "G30x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G30x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x1y4.ff");
+ test_class_info(&lv, &cd_G30x1y4);
+ dp->~G30x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y4(Test_G30x1y4, "G30x1y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y4C1Ev();
+extern void _ZN7G30x1y4D1Ev();
+Name_Map name_map_G30x1y4[] = {
+ NSPAIR(_ZN7G30x1y4C1Ev),
+ NSPAIR(_ZN7G30x1y4D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x1y4[] = {
+ // 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, ABISELECT(40,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x1y4[];
+extern void _ZN2D13fooEv();
+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_G30x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y4[] = {
+ {&(_ZTV7G30x1y4[5]), 5,16},
+ {&(_tg__ZTV5E30x1__7G30x1y4[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y4[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y4[3]), 3,4},
+ {&(_ZTV7G30x1y4[11]), 11,16},
+ {&(_ZTV7G30x1y4[15]), 15,16},
+ {&(_tg__ZTV3C30__7G30x1y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y4[];
+extern VTBL_ENTRY _ZTV7G30x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y4[];
+static VTBL_ENTRY alt_thunk_names121[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y4 = { "G30x1y4", // class name
+ bases_G30x1y4, 6,
+ &(vtc_G30x1y4[0]), // expected_vtbl_contents
+ &(vtt_G30x1y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y4),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names121,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y5 : virtual E30x1 , F0 {
+ int ff;
+ ~G30x1y5(); // tgen
+ G30x1y5(); // tgen
+};
+//SIG(1 G30x1y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x1y5 ::~G30x1y5(){ note_dtor("G30x1y5", this);} // tgen
+G30x1y5 ::G30x1y5(){ note_ctor("G30x1y5", this);} // tgen
+
+static void Test_G30x1y5()
+{
+ extern Class_Descriptor cd_G30x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x1y5, buf);
+ G30x1y5 *dp, &lv = *(dp=new (buf) G30x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y5)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x1y5");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x1y5");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(32,24), "G30x1y5");
+ check_base_class_offset(lv, (D1*)(E30x1*), ABISELECT(16,12), "G30x1y5");
+ check_base_class_offset(lv, (E30x1*), ABISELECT(16,12), "G30x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x1y5.ff");
+ test_class_info(&lv, &cd_G30x1y5);
+ dp->~G30x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y5(Test_G30x1y5, "G30x1y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y5C1Ev();
+extern void _ZN7G30x1y5D1Ev();
+Name_Map name_map_G30x1y5[] = {
+ NSPAIR(_ZN7G30x1y5C1Ev),
+ NSPAIR(_ZN7G30x1y5D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,36), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x1y5[];
+extern void _ZN2D13fooEv();
+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_G30x1y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y5[] = {
+ {&(_ZTV7G30x1y5[6]), 6,23},
+ {&(_ZTV7G30x1y5[12]), 12,23},
+ {&(_ZTV7G30x1y5[18]), 18,23},
+ {&(_ZTV7G30x1y5[22]), 22,23},
+ {&(_tg__ZTV5E30x1__7G30x1y5[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y5[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y5[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x1y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y5[];
+extern VTBL_ENTRY _ZTV7G30x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y5[];
+static VTBL_ENTRY alt_thunk_names122[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y5 = { "G30x1y5", // class name
+ bases_G30x1y5, 6,
+ &(vtc_G30x1y5[0]), // expected_vtbl_contents
+ &(vtt_G30x1y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y5),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names122,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y6 : E30x1 , virtual F0 {
+ int ff;
+ ~G30x1y6(); // tgen
+ G30x1y6(); // tgen
+};
+//SIG(1 G30x1y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x1y6 ::~G30x1y6(){ note_dtor("G30x1y6", this);} // tgen
+G30x1y6 ::G30x1y6(){ note_ctor("G30x1y6", this);} // tgen
+
+static void Test_G30x1y6()
+{
+ extern Class_Descriptor cd_G30x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x1y6, buf);
+ G30x1y6 *dp, &lv = *(dp=new (buf) G30x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y6)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x1y6");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x1y6");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(24,16), "G30x1y6");
+ check_base_class_offset(lv, (D1*)(E30x1*), 0, "G30x1y6");
+ check_base_class_offset(lv, (E30x1*), 0, "G30x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G30x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x1y6.ff");
+ test_class_info(&lv, &cd_G30x1y6);
+ dp->~G30x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y6(Test_G30x1y6, "G30x1y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y6C1Ev();
+extern void _ZN7G30x1y6D1Ev();
+Name_Map name_map_G30x1y6[] = {
+ NSPAIR(_ZN7G30x1y6C1Ev),
+ NSPAIR(_ZN7G30x1y6D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x1y6[] = {
+ // 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
+ 13, //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_C30, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G30x1y6[];
+extern void _ZN2D13fooEv();
+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_G30x1y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y6[] = {
+ {&(_ZTV7G30x1y6[6]), 6,17},
+ {&(_tg__ZTV5E30x1__7G30x1y6[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y6[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y6[3]), 3,4},
+ {&(_ZTV7G30x1y6[12]), 12,17},
+ {&(_ZTV7G30x1y6[16]), 16,17},
+ {&(_tg__ZTV3C30__7G30x1y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y6[];
+extern VTBL_ENTRY _ZTV7G30x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y6[];
+static VTBL_ENTRY alt_thunk_names123[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y6 = { "G30x1y6", // class name
+ bases_G30x1y6, 6,
+ &(vtc_G30x1y6[0]), // expected_vtbl_contents
+ &(vtt_G30x1y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y6),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names123,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x1y7 : virtual E30x1 , virtual F0 {
+ int ff;
+ ~G30x1y7(); // tgen
+ G30x1y7(); // tgen
+};
+//SIG(1 G30x1y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x1y7 ::~G30x1y7(){ note_dtor("G30x1y7", this);} // tgen
+G30x1y7 ::G30x1y7(){ note_ctor("G30x1y7", this);} // tgen
+
+static void Test_G30x1y7()
+{
+ extern Class_Descriptor cd_G30x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x1y7, buf);
+ G30x1y7 *dp, &lv = *(dp=new (buf) G30x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x1y7)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x1y7");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x1y7");
+ check_base_class_offset(lv, (C30*)(E30x1*), ABISELECT(32,20), "G30x1y7");
+ check_base_class_offset(lv, (D1*)(E30x1*), ABISELECT(16,8), "G30x1y7");
+ check_base_class_offset(lv, (E30x1*), ABISELECT(16,8), "G30x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G30x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x1y7.ff");
+ test_class_info(&lv, &cd_G30x1y7);
+ dp->~G30x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x1y7(Test_G30x1y7, "G30x1y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x1y7C1Ev();
+extern void _ZN7G30x1y7D1Ev();
+Name_Map name_map_G30x1y7[] = {
+ NSPAIR(_ZN7G30x1y7C1Ev),
+ NSPAIR(_ZN7G30x1y7D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x1;
+extern VTBL_ENTRY _ZTI5E30x1[];
+extern VTBL_ENTRY _ZTV5E30x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 20, //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_C30, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E30x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x1y7[];
+extern void _ZN2D13fooEv();
+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_G30x1y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x1y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x1__7G30x1y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x1__7G30x1y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x1__7G30x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x1y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x1y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x1y7[] = {
+ {&(_ZTV7G30x1y7[7]), 7,24},
+ {&(_ZTV7G30x1y7[13]), 13,24},
+ {&(_ZTV7G30x1y7[19]), 19,24},
+ {&(_ZTV7G30x1y7[23]), 23,24},
+ {&(_tg__ZTV5E30x1__7G30x1y7[5]), 5,6},
+ {&(_tg__ZTV3C30__5E30x1__7G30x1y7[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x1__7G30x1y7[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x1y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x1y7[];
+extern VTBL_ENTRY _ZTV7G30x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x1y7[];
+static VTBL_ENTRY alt_thunk_names124[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x1y7 = { "G30x1y7", // class name
+ bases_G30x1y7, 6,
+ &(vtc_G30x1y7[0]), // expected_vtbl_contents
+ &(vtt_G30x1y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x1y7),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x1y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names124,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x1 : virtual C31 , D1 {
+ int fd;
+ ~E31x1(); // tgen
+ E31x1(); // tgen
+};
+//SIG(-1 E31x1) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ v2 Fi} Fi}
+
+
+E31x1 ::~E31x1(){ note_dtor("E31x1", this);} // tgen
+E31x1 ::E31x1(){ note_ctor("E31x1", this);} // tgen
+
+static void Test_E31x1()
+{
+ extern Class_Descriptor cd_E31x1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E31x1, buf);
+ E31x1 *dp, &lv = *(dp=new (buf) E31x1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E31x1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x1)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "E31x1");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "E31x1");
+ check_base_class_offset(lv, (C31*), ABISELECT(16,12), "E31x1");
+ check_base_class_offset(lv, (D1*), 0, "E31x1");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E31x1.fd");
+ test_class_info(&lv, &cd_E31x1);
+ dp->~E31x1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x1(Test_E31x1, "E31x1", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E31x1C1Ev();
+extern void _ZN5E31x1D1Ev();
+Name_Map name_map_E31x1[] = {
+ NSPAIR(_ZN5E31x1C1Ev),
+ NSPAIR(_ZN5E31x1D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E31x1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(48,28), //bcp->offset
+ 16, //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_C31, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern void _ZN2D13fooEv();
+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_E31x1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__5E31x1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__5E31x1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x1[] = {
+ {&(_ZTV5E31x1[5]), 5,20},
+ {&(_ZTV5E31x1[11]), 11,20},
+ {&(_ZTV5E31x1[15]), 15,20},
+ {&(_ZTV5E31x1[19]), 19,20},
+ {&(_tg__ZTV3C31__5E31x1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+static VTBL_ENTRY alt_thunk_names125[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E31x1 = { "E31x1", // class name
+ bases_E31x1, 4,
+ &(vtc_E31x1[0]), // expected_vtbl_contents
+ &(vtt_E31x1[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E31x1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names125,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y0 : E31x1 , F1 {
+ int ff;
+ ~G31x1y0(); // tgen
+ G31x1y0(); // tgen
+};
+//SIG(1 G31x1y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x1y0 ::~G31x1y0(){ note_dtor("G31x1y0", this);} // tgen
+G31x1y0 ::G31x1y0(){ note_ctor("G31x1y0", this);} // tgen
+
+static void Test_G31x1y0()
+{
+ extern Class_Descriptor cd_G31x1y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x1y0, buf);
+ G31x1y0 *dp, &lv = *(dp=new (buf) G31x1y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x1y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y0)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x1y0");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x1y0");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(32,24), "G31x1y0");
+ check_base_class_offset(lv, (D1*)(E31x1*), 0, "G31x1y0");
+ check_base_class_offset(lv, (E31x1*), 0, "G31x1y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G31x1y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G31x1y0.ff");
+ test_class_info(&lv, &cd_G31x1y0);
+ dp->~G31x1y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y0(Test_G31x1y0, "G31x1y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y0C1Ev();
+extern void _ZN7G31x1y0D1Ev();
+Name_Map name_map_G31x1y0[] = {
+ NSPAIR(_ZN7G31x1y0C1Ev),
+ NSPAIR(_ZN7G31x1y0D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x1y0[] = {
+ // 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)
+ 7, //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)
+ 8, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,24), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x1y0[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+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_G31x1y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x1y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x1y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x1y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y0[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y0[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y0[] = {
+ {&(_ZTV7G31x1y0[5]), 5,23},
+ {&(_tg__ZTV5E31x1__7G31x1y0[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y0[3]), 3,4},
+ {&(_ZTV7G31x1y0[14]), 14,23},
+ {&(_ZTV7G31x1y0[18]), 18,23},
+ {&(_ZTV7G31x1y0[22]), 22,23},
+ {&(_tg__ZTV3C31__7G31x1y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y0[];
+extern VTBL_ENTRY _ZTV7G31x1y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y0[];
+static VTBL_ENTRY alt_thunk_names126[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y0 = { "G31x1y0", // class name
+ bases_G31x1y0, 6,
+ &(vtc_G31x1y0[0]), // expected_vtbl_contents
+ &(vtt_G31x1y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x1y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y0),23, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y0),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names126,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y1 : virtual E31x1 , F1 {
+ int ff;
+ ~G31x1y1(); // tgen
+ G31x1y1(); // tgen
+};
+//SIG(1 G31x1y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x1y1 ::~G31x1y1(){ note_dtor("G31x1y1", this);} // tgen
+G31x1y1 ::G31x1y1(){ note_ctor("G31x1y1", this);} // tgen
+
+static void Test_G31x1y1()
+{
+ extern Class_Descriptor cd_G31x1y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x1y1, buf);
+ G31x1y1 *dp, &lv = *(dp=new (buf) G31x1y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x1y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y1)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x1y1");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x1y1");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(32,24), "G31x1y1");
+ check_base_class_offset(lv, (D1*)(E31x1*), ABISELECT(16,12), "G31x1y1");
+ check_base_class_offset(lv, (E31x1*), ABISELECT(16,12), "G31x1y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x1y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x1y1.ff");
+ test_class_info(&lv, &cd_G31x1y1);
+ dp->~G31x1y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y1(Test_G31x1y1, "G31x1y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y1C1Ev();
+extern void _ZN7G31x1y1D1Ev();
+Name_Map name_map_G31x1y1[] = {
+ NSPAIR(_ZN7G31x1y1C1Ev),
+ NSPAIR(_ZN7G31x1y1D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x1y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 20, //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, ABISELECT(64,40), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,24), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G31x1y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+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_G31x1y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x1y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x1y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x1y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y1[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y1[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y1[] = {
+ {&(_ZTV7G31x1y1[6]), 6,28},
+ {&(_ZTV7G31x1y1[13]), 13,28},
+ {&(_ZTV7G31x1y1[19]), 19,28},
+ {&(_ZTV7G31x1y1[23]), 23,28},
+ {&(_ZTV7G31x1y1[27]), 27,28},
+ {&(_tg__ZTV5E31x1__7G31x1y1[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y1[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x1y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y1[];
+extern VTBL_ENTRY _ZTV7G31x1y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y1[];
+static VTBL_ENTRY alt_thunk_names127[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y1 = { "G31x1y1", // class name
+ bases_G31x1y1, 6,
+ &(vtc_G31x1y1[0]), // expected_vtbl_contents
+ &(vtt_G31x1y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x1y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y1),28, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y1),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names127,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y2 : E31x1 , virtual F1 {
+ int ff;
+ ~G31x1y2(); // tgen
+ G31x1y2(); // tgen
+};
+//SIG(1 G31x1y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x1y2 ::~G31x1y2(){ note_dtor("G31x1y2", this);} // tgen
+G31x1y2 ::G31x1y2(){ note_ctor("G31x1y2", this);} // tgen
+
+static void Test_G31x1y2()
+{
+ extern Class_Descriptor cd_G31x1y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x1y2, buf);
+ G31x1y2 *dp, &lv = *(dp=new (buf) G31x1y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x1y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y2)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x1y2");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x1y2");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(24,16), "G31x1y2");
+ check_base_class_offset(lv, (D1*)(E31x1*), 0, "G31x1y2");
+ check_base_class_offset(lv, (E31x1*), 0, "G31x1y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G31x1y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x1y2.ff");
+ test_class_info(&lv, &cd_G31x1y2);
+ dp->~G31x1y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y2(Test_G31x1y2, "G31x1y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y2C1Ev();
+extern void _ZN7G31x1y2D1Ev();
+Name_Map name_map_G31x1y2[] = {
+ NSPAIR(_ZN7G31x1y2C1Ev),
+ NSPAIR(_ZN7G31x1y2D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x1y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(72,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x1y2[];
+extern void _ZN2D13fooEv();
+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));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x1y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x1y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x1y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x1y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x1y2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y2[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y2[] = {
+ {&(_ZTV7G31x1y2[6]), 6,25},
+ {&(_tg__ZTV5E31x1__7G31x1y2[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y2[3]), 3,4},
+ {&(_ZTV7G31x1y2[12]), 12,25},
+ {&(_ZTV7G31x1y2[16]), 16,25},
+ {&(_ZTV7G31x1y2[20]), 20,25},
+ {&(_ZTV7G31x1y2[24]), 24,25},
+ {&(_tg__ZTV3C31__7G31x1y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y2[];
+extern VTBL_ENTRY _ZTV7G31x1y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y2[];
+static VTBL_ENTRY alt_thunk_names128[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y2 = { "G31x1y2", // class name
+ bases_G31x1y2, 6,
+ &(vtc_G31x1y2[0]), // expected_vtbl_contents
+ &(vtt_G31x1y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x1y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y2),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y2),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names128,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y3 : virtual E31x1 , virtual F1 {
+ int ff;
+ ~G31x1y3(); // tgen
+ G31x1y3(); // tgen
+};
+//SIG(1 G31x1y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x1y3 ::~G31x1y3(){ note_dtor("G31x1y3", this);} // tgen
+G31x1y3 ::G31x1y3(){ note_ctor("G31x1y3", this);} // tgen
+
+static void Test_G31x1y3()
+{
+ extern Class_Descriptor cd_G31x1y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x1y3, buf);
+ G31x1y3 *dp, &lv = *(dp=new (buf) G31x1y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x1y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y3)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x1y3");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x1y3");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(32,20), "G31x1y3");
+ check_base_class_offset(lv, (D1*)(E31x1*), ABISELECT(16,8), "G31x1y3");
+ check_base_class_offset(lv, (E31x1*), ABISELECT(16,8), "G31x1y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x1y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x1y3.ff");
+ test_class_info(&lv, &cd_G31x1y3);
+ dp->~G31x1y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y3(Test_G31x1y3, "G31x1y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y3C1Ev();
+extern void _ZN7G31x1y3D1Ev();
+Name_Map name_map_G31x1y3[] = {
+ NSPAIR(_ZN7G31x1y3C1Ev),
+ NSPAIR(_ZN7G31x1y3D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x1y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 28, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x1y3[];
+extern void _ZN2D13fooEv();
+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));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x1y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x1y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x1y3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y3[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y3[] = {
+ {&(_ZTV7G31x1y3[7]), 7,32},
+ {&(_ZTV7G31x1y3[13]), 13,32},
+ {&(_ZTV7G31x1y3[19]), 19,32},
+ {&(_ZTV7G31x1y3[23]), 23,32},
+ {&(_ZTV7G31x1y3[27]), 27,32},
+ {&(_ZTV7G31x1y3[31]), 31,32},
+ {&(_tg__ZTV5E31x1__7G31x1y3[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y3[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x1y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y3[];
+extern VTBL_ENTRY _ZTV7G31x1y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y3[];
+static VTBL_ENTRY alt_thunk_names129[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y3 = { "G31x1y3", // class name
+ bases_G31x1y3, 6,
+ &(vtc_G31x1y3[0]), // expected_vtbl_contents
+ &(vtt_G31x1y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x1y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y3),32, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y3),13, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names129,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y4 : E31x1 , F0 {
+ int ff;
+ ~G31x1y4(); // tgen
+ G31x1y4(); // tgen
+};
+//SIG(1 G31x1y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x1y4 ::~G31x1y4(){ note_dtor("G31x1y4", this);} // tgen
+G31x1y4 ::G31x1y4(){ note_ctor("G31x1y4", this);} // tgen
+
+static void Test_G31x1y4()
+{
+ extern Class_Descriptor cd_G31x1y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x1y4, buf);
+ G31x1y4 *dp, &lv = *(dp=new (buf) G31x1y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x1y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y4)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,28), "G31x1y4");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,36), "G31x1y4");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(24,20), "G31x1y4");
+ check_base_class_offset(lv, (D1*)(E31x1*), 0, "G31x1y4");
+ check_base_class_offset(lv, (E31x1*), 0, "G31x1y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G31x1y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x1y4.ff");
+ test_class_info(&lv, &cd_G31x1y4);
+ dp->~G31x1y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y4(Test_G31x1y4, "G31x1y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y4C1Ev();
+extern void _ZN7G31x1y4D1Ev();
+Name_Map name_map_G31x1y4[] = {
+ NSPAIR(_ZN7G31x1y4C1Ev),
+ NSPAIR(_ZN7G31x1y4D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x1y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(24,20), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x1y4[];
+extern void _ZN2D13fooEv();
+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_G31x1y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x1y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x1y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y4[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y4[] = {
+ {&(_ZTV7G31x1y4[5]), 5,20},
+ {&(_tg__ZTV5E31x1__7G31x1y4[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y4[3]), 3,4},
+ {&(_ZTV7G31x1y4[11]), 11,20},
+ {&(_ZTV7G31x1y4[15]), 15,20},
+ {&(_ZTV7G31x1y4[19]), 19,20},
+ {&(_tg__ZTV3C31__7G31x1y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y4[];
+extern VTBL_ENTRY _ZTV7G31x1y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y4[];
+static VTBL_ENTRY alt_thunk_names130[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y4 = { "G31x1y4", // class name
+ bases_G31x1y4, 6,
+ &(vtc_G31x1y4[0]), // expected_vtbl_contents
+ &(vtt_G31x1y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x1y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y4),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y4),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names130,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y5 : virtual E31x1 , F0 {
+ int ff;
+ ~G31x1y5(); // tgen
+ G31x1y5(); // tgen
+};
+//SIG(1 G31x1y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x1y5 ::~G31x1y5(){ note_dtor("G31x1y5", this);} // tgen
+G31x1y5 ::G31x1y5(){ note_ctor("G31x1y5", this);} // tgen
+
+static void Test_G31x1y5()
+{
+ extern Class_Descriptor cd_G31x1y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x1y5, buf);
+ G31x1y5 *dp, &lv = *(dp=new (buf) G31x1y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x1y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y5)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x1y5");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x1y5");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(32,24), "G31x1y5");
+ check_base_class_offset(lv, (D1*)(E31x1*), ABISELECT(16,12), "G31x1y5");
+ check_base_class_offset(lv, (E31x1*), ABISELECT(16,12), "G31x1y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x1y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x1y5.ff");
+ test_class_info(&lv, &cd_G31x1y5);
+ dp->~G31x1y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y5(Test_G31x1y5, "G31x1y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y5C1Ev();
+extern void _ZN7G31x1y5D1Ev();
+Name_Map name_map_G31x1y5[] = {
+ NSPAIR(_ZN7G31x1y5C1Ev),
+ NSPAIR(_ZN7G31x1y5D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x1y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(64,40), //bcp->offset
+ 23, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,24), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G31x1y5[];
+extern void _ZN2D13fooEv();
+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_G31x1y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y5[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x1y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x1y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x1y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y5[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y5[] = {
+ {&(_ZTV7G31x1y5[6]), 6,27},
+ {&(_ZTV7G31x1y5[12]), 12,27},
+ {&(_ZTV7G31x1y5[18]), 18,27},
+ {&(_ZTV7G31x1y5[22]), 22,27},
+ {&(_ZTV7G31x1y5[26]), 26,27},
+ {&(_tg__ZTV5E31x1__7G31x1y5[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y5[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x1y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y5[];
+extern VTBL_ENTRY _ZTV7G31x1y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y5[];
+static VTBL_ENTRY alt_thunk_names131[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y5 = { "G31x1y5", // class name
+ bases_G31x1y5, 6,
+ &(vtc_G31x1y5[0]), // expected_vtbl_contents
+ &(vtt_G31x1y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x1y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y5),27, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y5),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names131,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y6 : E31x1 , virtual F0 {
+ int ff;
+ ~G31x1y6(); // tgen
+ G31x1y6(); // tgen
+};
+//SIG(1 G31x1y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x1y6 ::~G31x1y6(){ note_dtor("G31x1y6", this);} // tgen
+G31x1y6 ::G31x1y6(){ note_ctor("G31x1y6", this);} // tgen
+
+static void Test_G31x1y6()
+{
+ extern Class_Descriptor cd_G31x1y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x1y6, buf);
+ G31x1y6 *dp, &lv = *(dp=new (buf) G31x1y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x1y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y6)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x1y6");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x1y6");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(24,16), "G31x1y6");
+ check_base_class_offset(lv, (D1*)(E31x1*), 0, "G31x1y6");
+ check_base_class_offset(lv, (E31x1*), 0, "G31x1y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G31x1y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x1y6.ff");
+ test_class_info(&lv, &cd_G31x1y6);
+ dp->~G31x1y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y6(Test_G31x1y6, "G31x1y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y6C1Ev();
+extern void _ZN7G31x1y6D1Ev();
+Name_Map name_map_G31x1y6[] = {
+ NSPAIR(_ZN7G31x1y6C1Ev),
+ NSPAIR(_ZN7G31x1y6D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x1y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(24,16), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G31x1y6[];
+extern void _ZN2D13fooEv();
+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_G31x1y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x1y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x1y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y6[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y6[] = {
+ {&(_ZTV7G31x1y6[6]), 6,21},
+ {&(_tg__ZTV5E31x1__7G31x1y6[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y6[3]), 3,4},
+ {&(_ZTV7G31x1y6[12]), 12,21},
+ {&(_ZTV7G31x1y6[16]), 16,21},
+ {&(_ZTV7G31x1y6[20]), 20,21},
+ {&(_tg__ZTV3C31__7G31x1y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y6[];
+extern VTBL_ENTRY _ZTV7G31x1y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y6[];
+static VTBL_ENTRY alt_thunk_names132[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y6 = { "G31x1y6", // class name
+ bases_G31x1y6, 6,
+ &(vtc_G31x1y6[0]), // expected_vtbl_contents
+ &(vtt_G31x1y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x1y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y6),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y6),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names132,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x1y7 : virtual E31x1 , virtual F0 {
+ int ff;
+ ~G31x1y7(); // tgen
+ G31x1y7(); // tgen
+};
+//SIG(1 G31x1y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x1y7 ::~G31x1y7(){ note_dtor("G31x1y7", this);} // tgen
+G31x1y7 ::G31x1y7(){ note_ctor("G31x1y7", this);} // tgen
+
+static void Test_G31x1y7()
+{
+ extern Class_Descriptor cd_G31x1y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x1y7, buf);
+ G31x1y7 *dp, &lv = *(dp=new (buf) G31x1y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x1y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x1y7)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x1y7");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x1y7");
+ check_base_class_offset(lv, (C31*)(E31x1*), ABISELECT(32,20), "G31x1y7");
+ check_base_class_offset(lv, (D1*)(E31x1*), ABISELECT(16,8), "G31x1y7");
+ check_base_class_offset(lv, (E31x1*), ABISELECT(16,8), "G31x1y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G31x1y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x1y7.ff");
+ test_class_info(&lv, &cd_G31x1y7);
+ dp->~G31x1y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x1y7(Test_G31x1y7, "G31x1y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x1y7C1Ev();
+extern void _ZN7G31x1y7D1Ev();
+Name_Map name_map_G31x1y7[] = {
+ NSPAIR(_ZN7G31x1y7C1Ev),
+ NSPAIR(_ZN7G31x1y7D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x1;
+extern VTBL_ENTRY _ZTI5E31x1[];
+extern VTBL_ENTRY _ZTV5E31x1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x1[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x1y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E31x1, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G31x1y7[];
+extern void _ZN2D13fooEv();
+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_G31x1y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x1y7[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x1y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x1y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x1y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x1y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x1__7G31x1y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x1__7G31x1y7[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x1__7G31x1y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x1__7G31x1y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x1y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x1y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x1y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x1y7[] = {
+ {&(_ZTV7G31x1y7[7]), 7,28},
+ {&(_ZTV7G31x1y7[13]), 13,28},
+ {&(_ZTV7G31x1y7[19]), 19,28},
+ {&(_ZTV7G31x1y7[23]), 23,28},
+ {&(_ZTV7G31x1y7[27]), 27,28},
+ {&(_tg__ZTV5E31x1__7G31x1y7[5]), 5,6},
+ {&(_tg__ZTV3C31__5E31x1__7G31x1y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x1__7G31x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x1__7G31x1y7[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x1y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x1y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x1y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x1y7[];
+extern VTBL_ENTRY _ZTV7G31x1y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x1y7[];
+static VTBL_ENTRY alt_thunk_names133[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x1y7 = { "G31x1y7", // class name
+ bases_G31x1y7, 6,
+ &(vtc_G31x1y7[0]), // expected_vtbl_contents
+ &(vtt_G31x1y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x1y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x1y7),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x1y7),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names133,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x2 : C0 , virtual D1 {
+ int fd;
+ ~E0x2(); // tgen
+ E0x2(); // tgen
+};
+//SIG(-1 E0x2) C1{ BC2{ BC3{ Fi} BC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E0x2 ::~E0x2(){ note_dtor("E0x2", this);} // tgen
+E0x2 ::E0x2(){ note_ctor("E0x2", this);} // tgen
+
+static void Test_E0x2()
+{
+ extern Class_Descriptor cd_E0x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E0x2, buf);
+ E0x2 *dp, &lv = *(dp=new (buf) E0x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E0x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x2)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(8,4), "E0x2");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(12,8), "E0x2");
+ check_base_class_offset(lv, (C0*), ABISELECT(8,4), "E0x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E0x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E0x2.fd");
+ test_class_info(&lv, &cd_E0x2);
+ dp->~E0x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x2(Test_E0x2, "E0x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E0x2C1Ev();
+extern void _ZN4E0x2D1Ev();
+Name_Map name_map_E0x2[] = {
+ NSPAIR(_ZN4E0x2C1Ev),
+ NSPAIR(_ZN4E0x2D1Ev),
+ {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_E0x2[] = {
+ // 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(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_C0, 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_D1, ABISELECT(24,20), //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 _ZTI4E0x2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E0x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E0x2[];
+static VTT_ENTRY vtt_E0x2[] = {
+ {&(_ZTV4E0x2[3]), 3,7},
+ {&(_ZTV4E0x2[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+Class_Descriptor cd_E0x2 = { "E0x2", // class name
+ bases_E0x2, 4,
+ &(vtc_E0x2[0]), // expected_vtbl_contents
+ &(vtt_E0x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E0x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x2),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x2),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 G0x2y0 : E0x2 , F1 {
+ int ff;
+ ~G0x2y0(); // tgen
+ G0x2y0(); // tgen
+};
+//SIG(1 G0x2y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x2y0 ::~G0x2y0(){ note_dtor("G0x2y0", this);} // tgen
+G0x2y0 ::G0x2y0(){ note_ctor("G0x2y0", this);} // tgen
+
+static void Test_G0x2y0()
+{
+ extern Class_Descriptor cd_G0x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x2y0, buf);
+ G0x2y0 *dp, &lv = *(dp=new (buf) G0x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y0)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(8,4), "G0x2y0");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(12,8), "G0x2y0");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(8,4), "G0x2y0");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(40,32), "G0x2y0");
+ check_base_class_offset(lv, (E0x2*), 0, "G0x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G0x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G0x2y0.ff");
+ test_class_info(&lv, &cd_G0x2y0);
+ dp->~G0x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y0(Test_G0x2y0, "G0x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y0C1Ev();
+extern void _ZN6G0x2y0D1Ev();
+Name_Map name_map_G0x2y0[] = {
+ NSPAIR(_ZN6G0x2y0C1Ev),
+ NSPAIR(_ZN6G0x2y0D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x2y0[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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_F1, ABISELECT(24,20), //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 _ZTI6G0x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G0x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y0[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y0[] = {
+ {&(_ZTV6G0x2y0[3]), 3,10},
+ {&(_tg__ZTV4E0x2__6G0x2y0[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y0[3]), 3,4},
+ {&(_ZTV6G0x2y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G0x2y0[];
+extern VTBL_ENTRY _ZTV6G0x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y0[];
+Class_Descriptor cd_G0x2y0 = { "G0x2y0", // class name
+ bases_G0x2y0, 6,
+ &(vtc_G0x2y0[0]), // expected_vtbl_contents
+ &(vtt_G0x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y0),4, //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 G0x2y1 : virtual E0x2 , F1 {
+ int ff;
+ ~G0x2y1(); // tgen
+ G0x2y1(); // tgen
+};
+//SIG(1 G0x2y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x2y1 ::~G0x2y1(){ note_dtor("G0x2y1", this);} // tgen
+G0x2y1 ::G0x2y1(){ note_ctor("G0x2y1", this);} // tgen
+
+static void Test_G0x2y1()
+{
+ extern Class_Descriptor cd_G0x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x2y1, buf);
+ G0x2y1 *dp, &lv = *(dp=new (buf) G0x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y1)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(24,16), "G0x2y1");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(28,20), "G0x2y1");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(24,16), "G0x2y1");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(40,32), "G0x2y1");
+ check_base_class_offset(lv, (E0x2*), ABISELECT(16,12), "G0x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x2y1.ff");
+ test_class_info(&lv, &cd_G0x2y1);
+ dp->~G0x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y1(Test_G0x2y1, "G0x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y1C1Ev();
+extern void _ZN6G0x2y1D1Ev();
+Name_Map name_map_G0x2y1[] = {
+ NSPAIR(_ZN6G0x2y1C1Ev),
+ NSPAIR(_ZN6G0x2y1D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x2y1[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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
+ 4, //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 _ZTI6G0x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x2y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y1[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y1[] = {
+ {&(_ZTV6G0x2y1[4]), 4,12},
+ {&(_ZTV6G0x2y1[8]), 8,12},
+ {&(_ZTV6G0x2y1[11]), 11,12},
+ {&(_tg__ZTV4E0x2__6G0x2y1[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x2y1[];
+extern VTBL_ENTRY _ZTV6G0x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y1[];
+Class_Descriptor cd_G0x2y1 = { "G0x2y1", // class name
+ bases_G0x2y1, 6,
+ &(vtc_G0x2y1[0]), // expected_vtbl_contents
+ &(vtt_G0x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y1),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 G0x2y2 : E0x2 , virtual F1 {
+ int ff;
+ ~G0x2y2(); // tgen
+ G0x2y2(); // tgen
+};
+//SIG(1 G0x2y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x2y2 ::~G0x2y2(){ note_dtor("G0x2y2", this);} // tgen
+G0x2y2 ::G0x2y2(){ note_ctor("G0x2y2", this);} // tgen
+
+static void Test_G0x2y2()
+{
+ extern Class_Descriptor cd_G0x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x2y2, buf);
+ G0x2y2 *dp, &lv = *(dp=new (buf) G0x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y2)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(8,4), "G0x2y2");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(12,8), "G0x2y2");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(8,4), "G0x2y2");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(32,24), "G0x2y2");
+ check_base_class_offset(lv, (E0x2*), 0, "G0x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G0x2y2.ff");
+ test_class_info(&lv, &cd_G0x2y2);
+ dp->~G0x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y2(Test_G0x2y2, "G0x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y2C1Ev();
+extern void _ZN6G0x2y2D1Ev();
+Name_Map name_map_G0x2y2[] = {
+ NSPAIR(_ZN6G0x2y2C1Ev),
+ NSPAIR(_ZN6G0x2y2D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x2y2[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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(48,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x2y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y2[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y2[] = {
+ {&(_ZTV6G0x2y2[4]), 4,12},
+ {&(_tg__ZTV4E0x2__6G0x2y2[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y2[3]), 3,4},
+ {&(_ZTV6G0x2y2[7]), 7,12},
+ {&(_ZTV6G0x2y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G0x2y2[];
+extern VTBL_ENTRY _ZTV6G0x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y2[];
+Class_Descriptor cd_G0x2y2 = { "G0x2y2", // class name
+ bases_G0x2y2, 6,
+ &(vtc_G0x2y2[0]), // expected_vtbl_contents
+ &(vtt_G0x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y2),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 G0x2y3 : virtual E0x2 , virtual F1 {
+ int ff;
+ ~G0x2y3(); // tgen
+ G0x2y3(); // tgen
+};
+//SIG(1 G0x2y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x2y3 ::~G0x2y3(){ note_dtor("G0x2y3", this);} // tgen
+G0x2y3 ::G0x2y3(){ note_ctor("G0x2y3", this);} // tgen
+
+static void Test_G0x2y3()
+{
+ extern Class_Descriptor cd_G0x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G0x2y3, buf);
+ G0x2y3 *dp, &lv = *(dp=new (buf) G0x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G0x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y3)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(24,12), "G0x2y3");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(28,16), "G0x2y3");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(24,12), "G0x2y3");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(40,28), "G0x2y3");
+ check_base_class_offset(lv, (E0x2*), ABISELECT(16,8), "G0x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G0x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x2y3.ff");
+ test_class_info(&lv, &cd_G0x2y3);
+ dp->~G0x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y3(Test_G0x2y3, "G0x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y3C1Ev();
+extern void _ZN6G0x2y3D1Ev();
+Name_Map name_map_G0x2y3[] = {
+ NSPAIR(_ZN6G0x2y3C1Ev),
+ NSPAIR(_ZN6G0x2y3D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x2y3[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 12, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x2y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x2y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G0x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y3[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y3[] = {
+ {&(_ZTV6G0x2y3[5]), 5,16},
+ {&(_ZTV6G0x2y3[8]), 8,16},
+ {&(_ZTV6G0x2y3[11]), 11,16},
+ {&(_ZTV6G0x2y3[15]), 15,16},
+ {&(_tg__ZTV4E0x2__6G0x2y3[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x2y3[];
+extern VTBL_ENTRY _ZTV6G0x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y3[];
+Class_Descriptor cd_G0x2y3 = { "G0x2y3", // class name
+ bases_G0x2y3, 6,
+ &(vtc_G0x2y3[0]), // expected_vtbl_contents
+ &(vtt_G0x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G0x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y3),6, //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 G0x2y4 : E0x2 , F0 {
+ int ff;
+ ~G0x2y4(); // tgen
+ G0x2y4(); // tgen
+};
+//SIG(1 G0x2y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x2y4 ::~G0x2y4(){ note_dtor("G0x2y4", this);} // tgen
+G0x2y4 ::G0x2y4(){ note_ctor("G0x2y4", this);} // tgen
+
+static void Test_G0x2y4()
+{
+ extern Class_Descriptor cd_G0x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x2y4, buf);
+ G0x2y4 *dp, &lv = *(dp=new (buf) G0x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y4)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(8,4), "G0x2y4");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(12,8), "G0x2y4");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(8,4), "G0x2y4");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(32,28), "G0x2y4");
+ check_base_class_offset(lv, (E0x2*), 0, "G0x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G0x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x2y4.ff");
+ test_class_info(&lv, &cd_G0x2y4);
+ dp->~G0x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y4(Test_G0x2y4, "G0x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y4C1Ev();
+extern void _ZN6G0x2y4D1Ev();
+Name_Map name_map_G0x2y4[] = {
+ NSPAIR(_ZN6G0x2y4C1Ev),
+ NSPAIR(_ZN6G0x2y4D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x2y4[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,28), //bcp->offset
+ 3, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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_F0, ABISELECT(24,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 _ZTI6G0x2y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y4[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y4[] = {
+ {&(_ZTV6G0x2y4[3]), 3,7},
+ {&(_tg__ZTV4E0x2__6G0x2y4[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y4[3]), 3,4},
+ {&(_ZTV6G0x2y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G0x2y4[];
+extern VTBL_ENTRY _ZTV6G0x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y4[];
+Class_Descriptor cd_G0x2y4 = { "G0x2y4", // class name
+ bases_G0x2y4, 6,
+ &(vtc_G0x2y4[0]), // expected_vtbl_contents
+ &(vtt_G0x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y4),4, //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 G0x2y5 : virtual E0x2 , F0 {
+ int ff;
+ ~G0x2y5(); // tgen
+ G0x2y5(); // tgen
+};
+//SIG(1 G0x2y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x2y5 ::~G0x2y5(){ note_dtor("G0x2y5", this);} // tgen
+G0x2y5 ::G0x2y5(){ note_ctor("G0x2y5", this);} // tgen
+
+static void Test_G0x2y5()
+{
+ extern Class_Descriptor cd_G0x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x2y5, buf);
+ G0x2y5 *dp, &lv = *(dp=new (buf) G0x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y5)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(24,16), "G0x2y5");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(28,20), "G0x2y5");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(24,16), "G0x2y5");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(40,32), "G0x2y5");
+ check_base_class_offset(lv, (E0x2*), ABISELECT(16,12), "G0x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x2y5.ff");
+ test_class_info(&lv, &cd_G0x2y5);
+ dp->~G0x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y5(Test_G0x2y5, "G0x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y5C1Ev();
+extern void _ZN6G0x2y5D1Ev();
+Name_Map name_map_G0x2y5[] = {
+ NSPAIR(_ZN6G0x2y5C1Ev),
+ NSPAIR(_ZN6G0x2y5D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x2y5[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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
+ 4, //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 _ZTI6G0x2y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x2y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y5[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y5[] = {
+ {&(_ZTV6G0x2y5[4]), 4,11},
+ {&(_ZTV6G0x2y5[7]), 7,11},
+ {&(_ZTV6G0x2y5[10]), 10,11},
+ {&(_tg__ZTV4E0x2__6G0x2y5[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x2y5[];
+extern VTBL_ENTRY _ZTV6G0x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y5[];
+Class_Descriptor cd_G0x2y5 = { "G0x2y5", // class name
+ bases_G0x2y5, 6,
+ &(vtc_G0x2y5[0]), // expected_vtbl_contents
+ &(vtt_G0x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y5),5, //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 G0x2y6 : E0x2 , virtual F0 {
+ int ff;
+ ~G0x2y6(); // tgen
+ G0x2y6(); // tgen
+};
+//SIG(1 G0x2y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x2y6 ::~G0x2y6(){ note_dtor("G0x2y6", this);} // tgen
+G0x2y6 ::G0x2y6(){ note_ctor("G0x2y6", this);} // tgen
+
+static void Test_G0x2y6()
+{
+ extern Class_Descriptor cd_G0x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x2y6, buf);
+ G0x2y6 *dp, &lv = *(dp=new (buf) G0x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y6)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(8,4), "G0x2y6");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(12,8), "G0x2y6");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(8,4), "G0x2y6");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(32,24), "G0x2y6");
+ check_base_class_offset(lv, (E0x2*), 0, "G0x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G0x2y6.ff");
+ test_class_info(&lv, &cd_G0x2y6);
+ dp->~G0x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y6(Test_G0x2y6, "G0x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y6C1Ev();
+extern void _ZN6G0x2y6D1Ev();
+Name_Map name_map_G0x2y6[] = {
+ NSPAIR(_ZN6G0x2y6C1Ev),
+ NSPAIR(_ZN6G0x2y6D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x2y6[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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_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 _ZTI6G0x2y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y6[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y6[] = {
+ {&(_ZTV6G0x2y6[4]), 4,8},
+ {&(_tg__ZTV4E0x2__6G0x2y6[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y6[3]), 3,4},
+ {&(_ZTV6G0x2y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x2y6[];
+extern VTBL_ENTRY _ZTV6G0x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y6[];
+Class_Descriptor cd_G0x2y6 = { "G0x2y6", // class name
+ bases_G0x2y6, 6,
+ &(vtc_G0x2y6[0]), // expected_vtbl_contents
+ &(vtt_G0x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y6),4, //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 G0x2y7 : virtual E0x2 , virtual F0 {
+ int ff;
+ ~G0x2y7(); // tgen
+ G0x2y7(); // tgen
+};
+//SIG(1 G0x2y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x2y7 ::~G0x2y7(){ note_dtor("G0x2y7", this);} // tgen
+G0x2y7 ::G0x2y7(){ note_ctor("G0x2y7", this);} // tgen
+
+static void Test_G0x2y7()
+{
+ extern Class_Descriptor cd_G0x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x2y7, buf);
+ G0x2y7 *dp, &lv = *(dp=new (buf) G0x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x2y7)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x2*), ABISELECT(24,12), "G0x2y7");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x2*), ABISELECT(28,16), "G0x2y7");
+ check_base_class_offset(lv, (C0*)(E0x2*), ABISELECT(24,12), "G0x2y7");
+ check_base_class_offset(lv, (D1*)(E0x2*), ABISELECT(40,28), "G0x2y7");
+ check_base_class_offset(lv, (E0x2*), ABISELECT(16,8), "G0x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G0x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x2y7.ff");
+ test_class_info(&lv, &cd_G0x2y7);
+ dp->~G0x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x2y7(Test_G0x2y7, "G0x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x2y7C1Ev();
+extern void _ZN6G0x2y7D1Ev();
+Name_Map name_map_G0x2y7[] = {
+ NSPAIR(_ZN6G0x2y7C1Ev),
+ NSPAIR(_ZN6G0x2y7D1Ev),
+ {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_E0x2;
+extern VTBL_ENTRY _ZTI4E0x2[];
+extern VTBL_ENTRY _ZTV4E0x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x2y7[] = {
+ // 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(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_C0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x2, 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //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 _ZTI6G0x2y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x2y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x2y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x2y7[];
+static VTBL_ENTRY _tg__ZTV4E0x2__6G0x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x2__6G0x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x2y7[] = {
+ {&(_ZTV6G0x2y7[5]), 5,12},
+ {&(_ZTV6G0x2y7[8]), 8,12},
+ {&(_ZTV6G0x2y7[11]), 11,12},
+ {&(_tg__ZTV4E0x2__6G0x2y7[3]), 3,3},
+ {&(_tg__ZTV2D1__4E0x2__6G0x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x2y7[];
+extern VTBL_ENTRY _ZTV6G0x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x2y7[];
+Class_Descriptor cd_G0x2y7 = { "G0x2y7", // class name
+ bases_G0x2y7, 6,
+ &(vtc_G0x2y7[0]), // expected_vtbl_contents
+ &(vtt_G0x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x2y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x2y7),5, //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 E1x2 : C1 , virtual D1 {
+ int fd;
+ ~E1x2(); // tgen
+ E1x2(); // tgen
+};
+//SIG(-1 E1x2) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E1x2 ::~E1x2(){ note_dtor("E1x2", this);} // tgen
+E1x2 ::E1x2(){ note_ctor("E1x2", this);} // tgen
+
+static void Test_E1x2()
+{
+ extern Class_Descriptor cd_E1x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x2, buf);
+ E1x2 *dp, &lv = *(dp=new (buf) E1x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x2)");
+ check_base_class_offset(lv, (A1*)(C1*), 0, "E1x2");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(12,8), "E1x2");
+ check_base_class_offset(lv, (C1*), 0, "E1x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E1x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E1x2.fd");
+ test_class_info(&lv, &cd_E1x2);
+ dp->~E1x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x2(Test_E1x2, "E1x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x2C1Ev();
+extern void _ZN4E1x2D1Ev();
+Name_Map name_map_E1x2[] = {
+ NSPAIR(_ZN4E1x2C1Ev),
+ NSPAIR(_ZN4E1x2D1Ev),
+ {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_E1x2[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //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 _ZTI4E1x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E1x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x2[];
+static VTT_ENTRY vtt_E1x2[] = {
+ {&(_ZTV4E1x2[3]), 3,8},
+ {&(_ZTV4E1x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+Class_Descriptor cd_E1x2 = { "E1x2", // class name
+ bases_E1x2, 4,
+ &(vtc_E1x2[0]), // expected_vtbl_contents
+ &(vtt_E1x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x2),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 G1x2y0 : E1x2 , F1 {
+ int ff;
+ ~G1x2y0(); // tgen
+ G1x2y0(); // tgen
+};
+//SIG(1 G1x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x2y0 ::~G1x2y0(){ note_dtor("G1x2y0", this);} // tgen
+G1x2y0 ::G1x2y0(){ note_ctor("G1x2y0", this);} // tgen
+
+static void Test_G1x2y0()
+{
+ extern Class_Descriptor cd_G1x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x2y0, buf);
+ G1x2y0 *dp, &lv = *(dp=new (buf) G1x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y0)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), 0, "G1x2y0");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(12,8), "G1x2y0");
+ check_base_class_offset(lv, (C1*)(E1x2*), 0, "G1x2y0");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(40,32), "G1x2y0");
+ check_base_class_offset(lv, (E1x2*), 0, "G1x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G1x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G1x2y0.ff");
+ test_class_info(&lv, &cd_G1x2y0);
+ dp->~G1x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y0(Test_G1x2y0, "G1x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y0C1Ev();
+extern void _ZN6G1x2y0D1Ev();
+Name_Map name_map_G1x2y0[] = {
+ NSPAIR(_ZN6G1x2y0C1Ev),
+ NSPAIR(_ZN6G1x2y0D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x2y0[] = {
+ // 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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(24,20), //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x2y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y0[] = {
+ {&(_ZTV6G1x2y0[3]), 3,11},
+ {&(_tg__ZTV4E1x2__6G1x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y0[3]), 3,4},
+ {&(_ZTV6G1x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x2y0[];
+extern VTBL_ENTRY _ZTV6G1x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y0[];
+Class_Descriptor cd_G1x2y0 = { "G1x2y0", // class name
+ bases_G1x2y0, 6,
+ &(vtc_G1x2y0[0]), // expected_vtbl_contents
+ &(vtt_G1x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y0),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 G1x2y1 : virtual E1x2 , F1 {
+ int ff;
+ ~G1x2y1(); // tgen
+ G1x2y1(); // tgen
+};
+//SIG(1 G1x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x2y1 ::~G1x2y1(){ note_dtor("G1x2y1", this);} // tgen
+G1x2y1 ::G1x2y1(){ note_ctor("G1x2y1", this);} // tgen
+
+static void Test_G1x2y1()
+{
+ extern Class_Descriptor cd_G1x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x2y1, buf);
+ G1x2y1 *dp, &lv = *(dp=new (buf) G1x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y1)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), ABISELECT(16,12), "G1x2y1");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(28,20), "G1x2y1");
+ check_base_class_offset(lv, (C1*)(E1x2*), ABISELECT(16,12), "G1x2y1");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(40,32), "G1x2y1");
+ check_base_class_offset(lv, (E1x2*), ABISELECT(16,12), "G1x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x2y1.ff");
+ test_class_info(&lv, &cd_G1x2y1);
+ dp->~G1x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y1(Test_G1x2y1, "G1x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y1C1Ev();
+extern void _ZN6G1x2y1D1Ev();
+Name_Map name_map_G1x2y1[] = {
+ NSPAIR(_ZN6G1x2y1C1Ev),
+ NSPAIR(_ZN6G1x2y1D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x2y1[] = {
+ // 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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 _ZTI6G1x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y1[] = {
+ {&(_ZTV6G1x2y1[4]), 4,14},
+ {&(_ZTV6G1x2y1[9]), 9,14},
+ {&(_ZTV6G1x2y1[13]), 13,14},
+ {&(_tg__ZTV4E1x2__6G1x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x2y1[];
+extern VTBL_ENTRY _ZTV6G1x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y1[];
+Class_Descriptor cd_G1x2y1 = { "G1x2y1", // class name
+ bases_G1x2y1, 6,
+ &(vtc_G1x2y1[0]), // expected_vtbl_contents
+ &(vtt_G1x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y1),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 G1x2y2 : E1x2 , virtual F1 {
+ int ff;
+ ~G1x2y2(); // tgen
+ G1x2y2(); // tgen
+};
+//SIG(1 G1x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x2y2 ::~G1x2y2(){ note_dtor("G1x2y2", this);} // tgen
+G1x2y2 ::G1x2y2(){ note_ctor("G1x2y2", this);} // tgen
+
+static void Test_G1x2y2()
+{
+ extern Class_Descriptor cd_G1x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x2y2, buf);
+ G1x2y2 *dp, &lv = *(dp=new (buf) G1x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y2)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), 0, "G1x2y2");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(12,8), "G1x2y2");
+ check_base_class_offset(lv, (C1*)(E1x2*), 0, "G1x2y2");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(32,24), "G1x2y2");
+ check_base_class_offset(lv, (E1x2*), 0, "G1x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G1x2y2.ff");
+ test_class_info(&lv, &cd_G1x2y2);
+ dp->~G1x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y2(Test_G1x2y2, "G1x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y2C1Ev();
+extern void _ZN6G1x2y2D1Ev();
+Name_Map name_map_G1x2y2[] = {
+ NSPAIR(_ZN6G1x2y2C1Ev),
+ NSPAIR(_ZN6G1x2y2D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x2y2[] = {
+ // 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_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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y2[] = {
+ {&(_ZTV6G1x2y2[4]), 4,13},
+ {&(_tg__ZTV4E1x2__6G1x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y2[3]), 3,4},
+ {&(_ZTV6G1x2y2[8]), 8,13},
+ {&(_ZTV6G1x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G1x2y2[];
+extern VTBL_ENTRY _ZTV6G1x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y2[];
+Class_Descriptor cd_G1x2y2 = { "G1x2y2", // class name
+ bases_G1x2y2, 6,
+ &(vtc_G1x2y2[0]), // expected_vtbl_contents
+ &(vtt_G1x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y2),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 G1x2y3 : virtual E1x2 , virtual F1 {
+ int ff;
+ ~G1x2y3(); // tgen
+ G1x2y3(); // tgen
+};
+//SIG(1 G1x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x2y3 ::~G1x2y3(){ note_dtor("G1x2y3", this);} // tgen
+G1x2y3 ::G1x2y3(){ note_ctor("G1x2y3", this);} // tgen
+
+static void Test_G1x2y3()
+{
+ extern Class_Descriptor cd_G1x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x2y3, buf);
+ G1x2y3 *dp, &lv = *(dp=new (buf) G1x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y3)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), ABISELECT(16,8), "G1x2y3");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(28,16), "G1x2y3");
+ check_base_class_offset(lv, (C1*)(E1x2*), ABISELECT(16,8), "G1x2y3");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(40,28), "G1x2y3");
+ check_base_class_offset(lv, (E1x2*), ABISELECT(16,8), "G1x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x2y3.ff");
+ test_class_info(&lv, &cd_G1x2y3);
+ dp->~G1x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y3(Test_G1x2y3, "G1x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y3C1Ev();
+extern void _ZN6G1x2y3D1Ev();
+Name_Map name_map_G1x2y3[] = {
+ NSPAIR(_ZN6G1x2y3C1Ev),
+ NSPAIR(_ZN6G1x2y3D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x2y3[] = {
+ // 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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
+ 14, //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 _ZTI6G1x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y3[] = {
+ {&(_ZTV6G1x2y3[5]), 5,18},
+ {&(_ZTV6G1x2y3[9]), 9,18},
+ {&(_ZTV6G1x2y3[13]), 13,18},
+ {&(_ZTV6G1x2y3[17]), 17,18},
+ {&(_tg__ZTV4E1x2__6G1x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x2y3[];
+extern VTBL_ENTRY _ZTV6G1x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y3[];
+Class_Descriptor cd_G1x2y3 = { "G1x2y3", // class name
+ bases_G1x2y3, 6,
+ &(vtc_G1x2y3[0]), // expected_vtbl_contents
+ &(vtt_G1x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y3),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 G1x2y4 : E1x2 , F0 {
+ int ff;
+ ~G1x2y4(); // tgen
+ G1x2y4(); // tgen
+};
+//SIG(1 G1x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x2y4 ::~G1x2y4(){ note_dtor("G1x2y4", this);} // tgen
+G1x2y4 ::G1x2y4(){ note_ctor("G1x2y4", this);} // tgen
+
+static void Test_G1x2y4()
+{
+ extern Class_Descriptor cd_G1x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x2y4, buf);
+ G1x2y4 *dp, &lv = *(dp=new (buf) G1x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y4)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), 0, "G1x2y4");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(12,8), "G1x2y4");
+ check_base_class_offset(lv, (C1*)(E1x2*), 0, "G1x2y4");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(32,28), "G1x2y4");
+ check_base_class_offset(lv, (E1x2*), 0, "G1x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G1x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G1x2y4.ff");
+ test_class_info(&lv, &cd_G1x2y4);
+ dp->~G1x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y4(Test_G1x2y4, "G1x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y4C1Ev();
+extern void _ZN6G1x2y4D1Ev();
+Name_Map name_map_G1x2y4[] = {
+ NSPAIR(_ZN6G1x2y4C1Ev),
+ NSPAIR(_ZN6G1x2y4D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x2y4[] = {
+ // 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(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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(24,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 _ZTI6G1x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y4[] = {
+ {&(_ZTV6G1x2y4[3]), 3,8},
+ {&(_tg__ZTV4E1x2__6G1x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y4[3]), 3,4},
+ {&(_ZTV6G1x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x2y4[];
+extern VTBL_ENTRY _ZTV6G1x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y4[];
+Class_Descriptor cd_G1x2y4 = { "G1x2y4", // class name
+ bases_G1x2y4, 6,
+ &(vtc_G1x2y4[0]), // expected_vtbl_contents
+ &(vtt_G1x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y4),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 G1x2y5 : virtual E1x2 , F0 {
+ int ff;
+ ~G1x2y5(); // tgen
+ G1x2y5(); // tgen
+};
+//SIG(1 G1x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x2y5 ::~G1x2y5(){ note_dtor("G1x2y5", this);} // tgen
+G1x2y5 ::G1x2y5(){ note_ctor("G1x2y5", this);} // tgen
+
+static void Test_G1x2y5()
+{
+ extern Class_Descriptor cd_G1x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x2y5, buf);
+ G1x2y5 *dp, &lv = *(dp=new (buf) G1x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y5)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), ABISELECT(16,12), "G1x2y5");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(28,20), "G1x2y5");
+ check_base_class_offset(lv, (C1*)(E1x2*), ABISELECT(16,12), "G1x2y5");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(40,32), "G1x2y5");
+ check_base_class_offset(lv, (E1x2*), ABISELECT(16,12), "G1x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x2y5.ff");
+ test_class_info(&lv, &cd_G1x2y5);
+ dp->~G1x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y5(Test_G1x2y5, "G1x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y5C1Ev();
+extern void _ZN6G1x2y5D1Ev();
+Name_Map name_map_G1x2y5[] = {
+ NSPAIR(_ZN6G1x2y5C1Ev),
+ NSPAIR(_ZN6G1x2y5D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x2y5[] = {
+ // 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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 _ZTI6G1x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y5[] = {
+ {&(_ZTV6G1x2y5[4]), 4,13},
+ {&(_ZTV6G1x2y5[8]), 8,13},
+ {&(_ZTV6G1x2y5[12]), 12,13},
+ {&(_tg__ZTV4E1x2__6G1x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x2y5[];
+extern VTBL_ENTRY _ZTV6G1x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y5[];
+Class_Descriptor cd_G1x2y5 = { "G1x2y5", // class name
+ bases_G1x2y5, 6,
+ &(vtc_G1x2y5[0]), // expected_vtbl_contents
+ &(vtt_G1x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y5),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 G1x2y6 : E1x2 , virtual F0 {
+ int ff;
+ ~G1x2y6(); // tgen
+ G1x2y6(); // tgen
+};
+//SIG(1 G1x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x2y6 ::~G1x2y6(){ note_dtor("G1x2y6", this);} // tgen
+G1x2y6 ::G1x2y6(){ note_ctor("G1x2y6", this);} // tgen
+
+static void Test_G1x2y6()
+{
+ extern Class_Descriptor cd_G1x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x2y6, buf);
+ G1x2y6 *dp, &lv = *(dp=new (buf) G1x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y6)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), 0, "G1x2y6");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(12,8), "G1x2y6");
+ check_base_class_offset(lv, (C1*)(E1x2*), 0, "G1x2y6");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(32,24), "G1x2y6");
+ check_base_class_offset(lv, (E1x2*), 0, "G1x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G1x2y6.ff");
+ test_class_info(&lv, &cd_G1x2y6);
+ dp->~G1x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y6(Test_G1x2y6, "G1x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y6C1Ev();
+extern void _ZN6G1x2y6D1Ev();
+Name_Map name_map_G1x2y6[] = {
+ NSPAIR(_ZN6G1x2y6C1Ev),
+ NSPAIR(_ZN6G1x2y6D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x2y6[] = {
+ // 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(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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(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 _ZTI6G1x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y6[] = {
+ {&(_ZTV6G1x2y6[4]), 4,9},
+ {&(_tg__ZTV4E1x2__6G1x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y6[3]), 3,4},
+ {&(_ZTV6G1x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G1x2y6[];
+extern VTBL_ENTRY _ZTV6G1x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y6[];
+Class_Descriptor cd_G1x2y6 = { "G1x2y6", // class name
+ bases_G1x2y6, 6,
+ &(vtc_G1x2y6[0]), // expected_vtbl_contents
+ &(vtt_G1x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y6),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 G1x2y7 : virtual E1x2 , virtual F0 {
+ int ff;
+ ~G1x2y7(); // tgen
+ G1x2y7(); // tgen
+};
+//SIG(1 G1x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x2y7 ::~G1x2y7(){ note_dtor("G1x2y7", this);} // tgen
+G1x2y7 ::G1x2y7(){ note_ctor("G1x2y7", this);} // tgen
+
+static void Test_G1x2y7()
+{
+ extern Class_Descriptor cd_G1x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x2y7, buf);
+ G1x2y7 *dp, &lv = *(dp=new (buf) G1x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x2y7)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x2*), ABISELECT(16,8), "G1x2y7");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x2*), ABISELECT(28,16), "G1x2y7");
+ check_base_class_offset(lv, (C1*)(E1x2*), ABISELECT(16,8), "G1x2y7");
+ check_base_class_offset(lv, (D1*)(E1x2*), ABISELECT(40,28), "G1x2y7");
+ check_base_class_offset(lv, (E1x2*), ABISELECT(16,8), "G1x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G1x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x2y7.ff");
+ test_class_info(&lv, &cd_G1x2y7);
+ dp->~G1x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x2y7(Test_G1x2y7, "G1x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x2y7C1Ev();
+extern void _ZN6G1x2y7D1Ev();
+Name_Map name_map_G1x2y7[] = {
+ NSPAIR(_ZN6G1x2y7C1Ev),
+ NSPAIR(_ZN6G1x2y7D1Ev),
+ {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_E1x2;
+extern VTBL_ENTRY _ZTI4E1x2[];
+extern VTBL_ENTRY _ZTV4E1x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x2y7[] = {
+ // 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x2, 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 _ZTI6G1x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x2y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x2__6G1x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x2__6G1x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x2y7[] = {
+ {&(_ZTV6G1x2y7[5]), 5,14},
+ {&(_ZTV6G1x2y7[9]), 9,14},
+ {&(_ZTV6G1x2y7[13]), 13,14},
+ {&(_tg__ZTV4E1x2__6G1x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x2__6G1x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x2y7[];
+extern VTBL_ENTRY _ZTV6G1x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x2y7[];
+Class_Descriptor cd_G1x2y7 = { "G1x2y7", // class name
+ bases_G1x2y7, 6,
+ &(vtc_G1x2y7[0]), // expected_vtbl_contents
+ &(vtt_G1x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x2y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x2y7),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 E2x2 : C2 , virtual D1 {
+ int fd;
+ ~E2x2(); // tgen
+ E2x2(); // tgen
+};
+//SIG(-1 E2x2) C1{ BC2{ VBC3{ Fi} BC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E2x2 ::~E2x2(){ note_dtor("E2x2", this);} // tgen
+E2x2 ::E2x2(){ note_ctor("E2x2", this);} // tgen
+
+static void Test_E2x2()
+{
+ extern Class_Descriptor cd_E2x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x2, buf);
+ E2x2 *dp, &lv = *(dp=new (buf) E2x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x2)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(20,16), "E2x2");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(8,4), "E2x2");
+ check_base_class_offset(lv, (C2*), 0, "E2x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E2x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E2x2.fd");
+ test_class_info(&lv, &cd_E2x2);
+ dp->~E2x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x2(Test_E2x2, "E2x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x2C1Ev();
+extern void _ZN4E2x2D1Ev();
+Name_Map name_map_E2x2[] = {
+ NSPAIR(_ZN4E2x2C1Ev),
+ NSPAIR(_ZN4E2x2D1Ev),
+ {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_E2x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E2x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E2x2[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x2[] = {
+ {&(_ZTV4E2x2[4]), 4,8},
+ {&(_tg__ZTV2C2__4E2x2[3]), 3,3},
+ {&(_ZTV4E2x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+Class_Descriptor cd_E2x2 = { "E2x2", // class name
+ bases_E2x2, 4,
+ &(vtc_E2x2[0]), // expected_vtbl_contents
+ &(vtt_E2x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x2),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 G2x2y0 : E2x2 , F1 {
+ int ff;
+ ~G2x2y0(); // tgen
+ G2x2y0(); // tgen
+};
+//SIG(1 G2x2y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x2y0 ::~G2x2y0(){ note_dtor("G2x2y0", this);} // tgen
+G2x2y0 ::G2x2y0(){ note_ctor("G2x2y0", this);} // tgen
+
+static void Test_G2x2y0()
+{
+ extern Class_Descriptor cd_G2x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x2y0, buf);
+ G2x2y0 *dp, &lv = *(dp=new (buf) G2x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y0)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(40,28), "G2x2y0");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(8,4), "G2x2y0");
+ check_base_class_offset(lv, (C2*)(E2x2*), 0, "G2x2y0");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(48,32), "G2x2y0");
+ check_base_class_offset(lv, (E2x2*), 0, "G2x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G2x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G2x2y0.ff");
+ test_class_info(&lv, &cd_G2x2y0);
+ dp->~G2x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y0(Test_G2x2y0, "G2x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y0C1Ev();
+extern void _ZN6G2x2y0D1Ev();
+Name_Map name_map_G2x2y0[] = {
+ NSPAIR(_ZN6G2x2y0C1Ev),
+ NSPAIR(_ZN6G2x2y0D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x2y0[] = {
+ // 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(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(48,32), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y0[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y0[] = {
+ {&(_ZTV6G2x2y0[4]), 4,11},
+ {&(_tg__ZTV4E2x2__6G2x2y0[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y0[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y0[3]), 3,4},
+ {&(_ZTV6G2x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G2x2y0[];
+extern VTBL_ENTRY _ZTV6G2x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y0[];
+Class_Descriptor cd_G2x2y0 = { "G2x2y0", // class name
+ bases_G2x2y0, 6,
+ &(vtc_G2x2y0[0]), // expected_vtbl_contents
+ &(vtt_G2x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y0),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 G2x2y1 : virtual E2x2 , F1 {
+ int ff;
+ ~G2x2y1(); // tgen
+ G2x2y1(); // tgen
+};
+//SIG(1 G2x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x2y1 ::~G2x2y1(){ note_dtor("G2x2y1", this);} // tgen
+G2x2y1 ::G2x2y1(){ note_ctor("G2x2y1", this);} // tgen
+
+static void Test_G2x2y1()
+{
+ extern Class_Descriptor cd_G2x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x2y1, buf);
+ G2x2y1 *dp, &lv = *(dp=new (buf) G2x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y1)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(36,28), "G2x2y1");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(24,16), "G2x2y1");
+ check_base_class_offset(lv, (C2*)(E2x2*), ABISELECT(16,12), "G2x2y1");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(40,32), "G2x2y1");
+ check_base_class_offset(lv, (E2x2*), ABISELECT(16,12), "G2x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x2y1.ff");
+ test_class_info(&lv, &cd_G2x2y1);
+ dp->~G2x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y1(Test_G2x2y1, "G2x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y1C1Ev();
+extern void _ZN6G2x2y1D1Ev();
+Name_Map name_map_G2x2y1[] = {
+ NSPAIR(_ZN6G2x2y1C1Ev),
+ NSPAIR(_ZN6G2x2y1D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x2y1[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI6G2x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x2y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y1[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y1[] = {
+ {&(_ZTV6G2x2y1[5]), 5,14},
+ {&(_ZTV6G2x2y1[10]), 10,14},
+ {&(_ZTV6G2x2y1[13]), 13,14},
+ {&(_tg__ZTV4E2x2__6G2x2y1[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y1[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G2x2y1[];
+extern VTBL_ENTRY _ZTV6G2x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y1[];
+Class_Descriptor cd_G2x2y1 = { "G2x2y1", // class name
+ bases_G2x2y1, 6,
+ &(vtc_G2x2y1[0]), // expected_vtbl_contents
+ &(vtt_G2x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y1),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 G2x2y2 : E2x2 , virtual F1 {
+ int ff;
+ ~G2x2y2(); // tgen
+ G2x2y2(); // tgen
+};
+//SIG(1 G2x2y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x2y2 ::~G2x2y2(){ note_dtor("G2x2y2", this);} // tgen
+G2x2y2 ::G2x2y2(){ note_ctor("G2x2y2", this);} // tgen
+
+static void Test_G2x2y2()
+{
+ extern Class_Descriptor cd_G2x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x2y2, buf);
+ G2x2y2 *dp, &lv = *(dp=new (buf) G2x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y2)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(24,20), "G2x2y2");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(8,4), "G2x2y2");
+ check_base_class_offset(lv, (C2*)(E2x2*), 0, "G2x2y2");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(32,24), "G2x2y2");
+ check_base_class_offset(lv, (E2x2*), 0, "G2x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G2x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x2y2.ff");
+ test_class_info(&lv, &cd_G2x2y2);
+ dp->~G2x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y2(Test_G2x2y2, "G2x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y2C1Ev();
+extern void _ZN6G2x2y2D1Ev();
+Name_Map name_map_G2x2y2[] = {
+ NSPAIR(_ZN6G2x2y2C1Ev),
+ NSPAIR(_ZN6G2x2y2D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, 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)
+ 6, //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 _ZTI6G2x2y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y2[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y2[] = {
+ {&(_ZTV6G2x2y2[5]), 5,13},
+ {&(_tg__ZTV4E2x2__6G2x2y2[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y2[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y2[3]), 3,4},
+ {&(_ZTV6G2x2y2[8]), 8,13},
+ {&(_ZTV6G2x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G2x2y2[];
+extern VTBL_ENTRY _ZTV6G2x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y2[];
+Class_Descriptor cd_G2x2y2 = { "G2x2y2", // class name
+ bases_G2x2y2, 6,
+ &(vtc_G2x2y2[0]), // expected_vtbl_contents
+ &(vtt_G2x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y2),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 G2x2y3 : virtual E2x2 , virtual F1 {
+ int ff;
+ ~G2x2y3(); // tgen
+ G2x2y3(); // tgen
+};
+//SIG(1 G2x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x2y3 ::~G2x2y3(){ note_dtor("G2x2y3", this);} // tgen
+G2x2y3 ::G2x2y3(){ note_ctor("G2x2y3", this);} // tgen
+
+static void Test_G2x2y3()
+{
+ extern Class_Descriptor cd_G2x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x2y3, buf);
+ G2x2y3 *dp, &lv = *(dp=new (buf) G2x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y3)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(36,24), "G2x2y3");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(24,12), "G2x2y3");
+ check_base_class_offset(lv, (C2*)(E2x2*), ABISELECT(16,8), "G2x2y3");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(40,28), "G2x2y3");
+ check_base_class_offset(lv, (E2x2*), ABISELECT(16,8), "G2x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x2y3.ff");
+ test_class_info(&lv, &cd_G2x2y3);
+ dp->~G2x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y3(Test_G2x2y3, "G2x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y3C1Ev();
+extern void _ZN6G2x2y3D1Ev();
+Name_Map name_map_G2x2y3[] = {
+ NSPAIR(_ZN6G2x2y3C1Ev),
+ NSPAIR(_ZN6G2x2y3D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x2y3[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 14, //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 _ZTI6G2x2y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x2y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y3[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y3[] = {
+ {&(_ZTV6G2x2y3[6]), 6,18},
+ {&(_ZTV6G2x2y3[10]), 10,18},
+ {&(_ZTV6G2x2y3[13]), 13,18},
+ {&(_ZTV6G2x2y3[17]), 17,18},
+ {&(_tg__ZTV4E2x2__6G2x2y3[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y3[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G2x2y3[];
+extern VTBL_ENTRY _ZTV6G2x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y3[];
+Class_Descriptor cd_G2x2y3 = { "G2x2y3", // class name
+ bases_G2x2y3, 6,
+ &(vtc_G2x2y3[0]), // expected_vtbl_contents
+ &(vtt_G2x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y3),7, //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 G2x2y4 : E2x2 , F0 {
+ int ff;
+ ~G2x2y4(); // tgen
+ G2x2y4(); // tgen
+};
+//SIG(1 G2x2y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x2y4 ::~G2x2y4(){ note_dtor("G2x2y4", this);} // tgen
+G2x2y4 ::G2x2y4(){ note_ctor("G2x2y4", this);} // tgen
+
+static void Test_G2x2y4()
+{
+ extern Class_Descriptor cd_G2x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x2y4, buf);
+ G2x2y4 *dp, &lv = *(dp=new (buf) G2x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y4)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(28,24), "G2x2y4");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(8,4), "G2x2y4");
+ check_base_class_offset(lv, (C2*)(E2x2*), 0, "G2x2y4");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(32,28), "G2x2y4");
+ check_base_class_offset(lv, (E2x2*), 0, "G2x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G2x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G2x2y4.ff");
+ test_class_info(&lv, &cd_G2x2y4);
+ dp->~G2x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y4(Test_G2x2y4, "G2x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y4C1Ev();
+extern void _ZN6G2x2y4D1Ev();
+Name_Map name_map_G2x2y4[] = {
+ NSPAIR(_ZN6G2x2y4C1Ev),
+ NSPAIR(_ZN6G2x2y4D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x2y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y4[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y4[] = {
+ {&(_ZTV6G2x2y4[4]), 4,8},
+ {&(_tg__ZTV4E2x2__6G2x2y4[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y4[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y4[3]), 3,4},
+ {&(_ZTV6G2x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G2x2y4[];
+extern VTBL_ENTRY _ZTV6G2x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y4[];
+Class_Descriptor cd_G2x2y4 = { "G2x2y4", // class name
+ bases_G2x2y4, 6,
+ &(vtc_G2x2y4[0]), // expected_vtbl_contents
+ &(vtt_G2x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y4),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 G2x2y5 : virtual E2x2 , F0 {
+ int ff;
+ ~G2x2y5(); // tgen
+ G2x2y5(); // tgen
+};
+//SIG(1 G2x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x2y5 ::~G2x2y5(){ note_dtor("G2x2y5", this);} // tgen
+G2x2y5 ::G2x2y5(){ note_ctor("G2x2y5", this);} // tgen
+
+static void Test_G2x2y5()
+{
+ extern Class_Descriptor cd_G2x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x2y5, buf);
+ G2x2y5 *dp, &lv = *(dp=new (buf) G2x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y5)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(36,28), "G2x2y5");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(24,16), "G2x2y5");
+ check_base_class_offset(lv, (C2*)(E2x2*), ABISELECT(16,12), "G2x2y5");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(40,32), "G2x2y5");
+ check_base_class_offset(lv, (E2x2*), ABISELECT(16,12), "G2x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x2y5.ff");
+ test_class_info(&lv, &cd_G2x2y5);
+ dp->~G2x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y5(Test_G2x2y5, "G2x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y5C1Ev();
+extern void _ZN6G2x2y5D1Ev();
+Name_Map name_map_G2x2y5[] = {
+ NSPAIR(_ZN6G2x2y5C1Ev),
+ NSPAIR(_ZN6G2x2y5D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x2y5[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, 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_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 _ZTI6G2x2y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x2y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y5[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y5[] = {
+ {&(_ZTV6G2x2y5[5]), 5,13},
+ {&(_ZTV6G2x2y5[9]), 9,13},
+ {&(_ZTV6G2x2y5[12]), 12,13},
+ {&(_tg__ZTV4E2x2__6G2x2y5[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y5[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G2x2y5[];
+extern VTBL_ENTRY _ZTV6G2x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y5[];
+Class_Descriptor cd_G2x2y5 = { "G2x2y5", // class name
+ bases_G2x2y5, 6,
+ &(vtc_G2x2y5[0]), // expected_vtbl_contents
+ &(vtt_G2x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y5),6, //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 G2x2y6 : E2x2 , virtual F0 {
+ int ff;
+ ~G2x2y6(); // tgen
+ G2x2y6(); // tgen
+};
+//SIG(1 G2x2y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x2y6 ::~G2x2y6(){ note_dtor("G2x2y6", this);} // tgen
+G2x2y6 ::G2x2y6(){ note_ctor("G2x2y6", this);} // tgen
+
+static void Test_G2x2y6()
+{
+ extern Class_Descriptor cd_G2x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x2y6, buf);
+ G2x2y6 *dp, &lv = *(dp=new (buf) G2x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y6)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(24,20), "G2x2y6");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(8,4), "G2x2y6");
+ check_base_class_offset(lv, (C2*)(E2x2*), 0, "G2x2y6");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(32,24), "G2x2y6");
+ check_base_class_offset(lv, (E2x2*), 0, "G2x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G2x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x2y6.ff");
+ test_class_info(&lv, &cd_G2x2y6);
+ dp->~G2x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y6(Test_G2x2y6, "G2x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y6C1Ev();
+extern void _ZN6G2x2y6D1Ev();
+Name_Map name_map_G2x2y6[] = {
+ NSPAIR(_ZN6G2x2y6C1Ev),
+ NSPAIR(_ZN6G2x2y6D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, 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 _ZTI6G2x2y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y6[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y6[] = {
+ {&(_ZTV6G2x2y6[5]), 5,9},
+ {&(_tg__ZTV4E2x2__6G2x2y6[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y6[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y6[3]), 3,4},
+ {&(_ZTV6G2x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G2x2y6[];
+extern VTBL_ENTRY _ZTV6G2x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y6[];
+Class_Descriptor cd_G2x2y6 = { "G2x2y6", // class name
+ bases_G2x2y6, 6,
+ &(vtc_G2x2y6[0]), // expected_vtbl_contents
+ &(vtt_G2x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y6),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 G2x2y7 : virtual E2x2 , virtual F0 {
+ int ff;
+ ~G2x2y7(); // tgen
+ G2x2y7(); // tgen
+};
+//SIG(1 G2x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x2y7 ::~G2x2y7(){ note_dtor("G2x2y7", this);} // tgen
+G2x2y7 ::G2x2y7(){ note_ctor("G2x2y7", this);} // tgen
+
+static void Test_G2x2y7()
+{
+ extern Class_Descriptor cd_G2x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x2y7, buf);
+ G2x2y7 *dp, &lv = *(dp=new (buf) G2x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x2y7)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x2*), ABISELECT(36,24), "G2x2y7");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x2*), ABISELECT(24,12), "G2x2y7");
+ check_base_class_offset(lv, (C2*)(E2x2*), ABISELECT(16,8), "G2x2y7");
+ check_base_class_offset(lv, (D1*)(E2x2*), ABISELECT(40,28), "G2x2y7");
+ check_base_class_offset(lv, (E2x2*), ABISELECT(16,8), "G2x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x2y7.ff");
+ test_class_info(&lv, &cd_G2x2y7);
+ dp->~G2x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x2y7(Test_G2x2y7, "G2x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x2y7C1Ev();
+extern void _ZN6G2x2y7D1Ev();
+Name_Map name_map_G2x2y7[] = {
+ NSPAIR(_ZN6G2x2y7C1Ev),
+ NSPAIR(_ZN6G2x2y7D1Ev),
+ {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_E2x2;
+extern VTBL_ENTRY _ZTI4E2x2[];
+extern VTBL_ENTRY _ZTV4E2x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x2y7[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x2, ABISELECT(16,8), //bcp->offset
+ 6, //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 _ZTI6G2x2y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x2y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x2y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x2y7[];
+static VTBL_ENTRY _tg__ZTV4E2x2__6G2x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x2__6G2x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x2__6G2x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G2x2y7[] = {
+ {&(_ZTV6G2x2y7[6]), 6,14},
+ {&(_ZTV6G2x2y7[10]), 10,14},
+ {&(_ZTV6G2x2y7[13]), 13,14},
+ {&(_tg__ZTV4E2x2__6G2x2y7[4]), 4,4},
+ {&(_tg__ZTV2C24E2x2__6G2x2y7[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x2__6G2x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G2x2y7[];
+extern VTBL_ENTRY _ZTV6G2x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x2y7[];
+Class_Descriptor cd_G2x2y7 = { "G2x2y7", // class name
+ bases_G2x2y7, 6,
+ &(vtc_G2x2y7[0]), // expected_vtbl_contents
+ &(vtt_G2x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x2y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x2y7),6, //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 E3x2 : C3 , virtual D1 {
+ int fd;
+ ~E3x2(); // tgen
+ E3x2(); // tgen
+};
+//SIG(-1 E3x2) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E3x2 ::~E3x2(){ note_dtor("E3x2", this);} // tgen
+E3x2 ::E3x2(){ note_ctor("E3x2", this);} // tgen
+
+static void Test_E3x2()
+{
+ extern Class_Descriptor cd_E3x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E3x2, buf);
+ E3x2 *dp, &lv = *(dp=new (buf) E3x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E3x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x2)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(24,16), "E3x2");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(8,4), "E3x2");
+ check_base_class_offset(lv, (C3*), 0, "E3x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E3x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E3x2.fd");
+ test_class_info(&lv, &cd_E3x2);
+ dp->~E3x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x2(Test_E3x2, "E3x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x2C1Ev();
+extern void _ZN4E3x2D1Ev();
+Name_Map name_map_E3x2[] = {
+ NSPAIR(_ZN4E3x2C1Ev),
+ NSPAIR(_ZN4E3x2D1Ev),
+ {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_E3x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 4, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E3x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x2[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x2[] = {
+ {&(_ZTV4E3x2[4]), 4,12},
+ {&(_tg__ZTV2C3__4E3x2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x2[3]), 3,4},
+ {&(_ZTV4E3x2[7]), 7,12},
+ {&(_ZTV4E3x2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+Class_Descriptor cd_E3x2 = { "E3x2", // class name
+ bases_E3x2, 4,
+ &(vtc_E3x2[0]), // expected_vtbl_contents
+ &(vtt_E3x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E3x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x2),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 G3x2y0 : E3x2 , F1 {
+ int ff;
+ ~G3x2y0(); // tgen
+ G3x2y0(); // tgen
+};
+//SIG(1 G3x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x2y0 ::~G3x2y0(){ note_dtor("G3x2y0", this);} // tgen
+G3x2y0 ::G3x2y0(){ note_ctor("G3x2y0", this);} // tgen
+
+static void Test_G3x2y0()
+{
+ extern Class_Descriptor cd_G3x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x2y0, buf);
+ G3x2y0 *dp, &lv = *(dp=new (buf) G3x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y0)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(40,28), "G3x2y0");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(8,4), "G3x2y0");
+ check_base_class_offset(lv, (C3*)(E3x2*), 0, "G3x2y0");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(56,36), "G3x2y0");
+ check_base_class_offset(lv, (E3x2*), 0, "G3x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G3x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G3x2y0.ff");
+ test_class_info(&lv, &cd_G3x2y0);
+ dp->~G3x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y0(Test_G3x2y0, "G3x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y0C1Ev();
+extern void _ZN6G3x2y0D1Ev();
+Name_Map name_map_G3x2y0[] = {
+ NSPAIR(_ZN6G3x2y0C1Ev),
+ NSPAIR(_ZN6G3x2y0D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x2y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 7, //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
+ 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(56,36), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y0[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y0[] = {
+ {&(_ZTV6G3x2y0[4]), 4,15},
+ {&(_tg__ZTV4E3x2__6G3x2y0[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y0[3]), 3,4},
+ {&(_ZTV6G3x2y0[10]), 10,15},
+ {&(_ZTV6G3x2y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G3x2y0[];
+extern VTBL_ENTRY _ZTV6G3x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y0[];
+Class_Descriptor cd_G3x2y0 = { "G3x2y0", // class name
+ bases_G3x2y0, 6,
+ &(vtc_G3x2y0[0]), // expected_vtbl_contents
+ &(vtt_G3x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y0),8, //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 G3x2y1 : virtual E3x2 , F1 {
+ int ff;
+ ~G3x2y1(); // tgen
+ G3x2y1(); // tgen
+};
+//SIG(1 G3x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x2y1 ::~G3x2y1(){ note_dtor("G3x2y1", this);} // tgen
+G3x2y1 ::G3x2y1(){ note_ctor("G3x2y1", this);} // tgen
+
+static void Test_G3x2y1()
+{
+ extern Class_Descriptor cd_G3x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x2y1, buf);
+ G3x2y1 *dp, &lv = *(dp=new (buf) G3x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y1)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(40,28), "G3x2y1");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(24,16), "G3x2y1");
+ check_base_class_offset(lv, (C3*)(E3x2*), ABISELECT(16,12), "G3x2y1");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(56,36), "G3x2y1");
+ check_base_class_offset(lv, (E3x2*), ABISELECT(16,12), "G3x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x2y1.ff");
+ test_class_info(&lv, &cd_G3x2y1);
+ dp->~G3x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y1(Test_G3x2y1, "G3x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y1C1Ev();
+extern void _ZN6G3x2y1D1Ev();
+Name_Map name_map_G3x2y1[] = {
+ NSPAIR(_ZN6G3x2y1C1Ev),
+ NSPAIR(_ZN6G3x2y1D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI6G3x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x2y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y1[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y1[] = {
+ {&(_ZTV6G3x2y1[5]), 5,18},
+ {&(_ZTV6G3x2y1[10]), 10,18},
+ {&(_ZTV6G3x2y1[13]), 13,18},
+ {&(_ZTV6G3x2y1[17]), 17,18},
+ {&(_tg__ZTV4E3x2__6G3x2y1[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x2y1[];
+extern VTBL_ENTRY _ZTV6G3x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y1[];
+Class_Descriptor cd_G3x2y1 = { "G3x2y1", // class name
+ bases_G3x2y1, 6,
+ &(vtc_G3x2y1[0]), // expected_vtbl_contents
+ &(vtt_G3x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y1),9, //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 G3x2y2 : E3x2 , virtual F1 {
+ int ff;
+ ~G3x2y2(); // tgen
+ G3x2y2(); // tgen
+};
+//SIG(1 G3x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x2y2 ::~G3x2y2(){ note_dtor("G3x2y2", this);} // tgen
+G3x2y2 ::G3x2y2(){ note_ctor("G3x2y2", this);} // tgen
+
+static void Test_G3x2y2()
+{
+ extern Class_Descriptor cd_G3x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x2y2, buf);
+ G3x2y2 *dp, &lv = *(dp=new (buf) G3x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y2)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(24,20), "G3x2y2");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(8,4), "G3x2y2");
+ check_base_class_offset(lv, (C3*)(E3x2*), 0, "G3x2y2");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(40,28), "G3x2y2");
+ check_base_class_offset(lv, (E3x2*), 0, "G3x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x2y2.ff");
+ test_class_info(&lv, &cd_G3x2y2);
+ dp->~G3x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y2(Test_G3x2y2, "G3x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y2C1Ev();
+extern void _ZN6G3x2y2D1Ev();
+Name_Map name_map_G3x2y2[] = {
+ NSPAIR(_ZN6G3x2y2C1Ev),
+ NSPAIR(_ZN6G3x2y2D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, 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)
+ 9, //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 _ZTI6G3x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y2[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y2[] = {
+ {&(_ZTV6G3x2y2[5]), 5,17},
+ {&(_tg__ZTV4E3x2__6G3x2y2[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y2[3]), 3,4},
+ {&(_ZTV6G3x2y2[8]), 8,17},
+ {&(_ZTV6G3x2y2[12]), 12,17},
+ {&(_ZTV6G3x2y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI6G3x2y2[];
+extern VTBL_ENTRY _ZTV6G3x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y2[];
+Class_Descriptor cd_G3x2y2 = { "G3x2y2", // class name
+ bases_G3x2y2, 6,
+ &(vtc_G3x2y2[0]), // expected_vtbl_contents
+ &(vtt_G3x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y2),9, //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 G3x2y3 : virtual E3x2 , virtual F1 {
+ int ff;
+ ~G3x2y3(); // tgen
+ G3x2y3(); // tgen
+};
+//SIG(1 G3x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x2y3 ::~G3x2y3(){ note_dtor("G3x2y3", this);} // tgen
+G3x2y3 ::G3x2y3(){ note_ctor("G3x2y3", this);} // tgen
+
+static void Test_G3x2y3()
+{
+ extern Class_Descriptor cd_G3x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G3x2y3, buf);
+ G3x2y3 *dp, &lv = *(dp=new (buf) G3x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G3x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y3)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(40,24), "G3x2y3");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(24,12), "G3x2y3");
+ check_base_class_offset(lv, (C3*)(E3x2*), ABISELECT(16,8), "G3x2y3");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(56,32), "G3x2y3");
+ check_base_class_offset(lv, (E3x2*), ABISELECT(16,8), "G3x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G3x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x2y3.ff");
+ test_class_info(&lv, &cd_G3x2y3);
+ dp->~G3x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y3(Test_G3x2y3, "G3x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y3C1Ev();
+extern void _ZN6G3x2y3D1Ev();
+Name_Map name_map_G3x2y3[] = {
+ NSPAIR(_ZN6G3x2y3C1Ev),
+ NSPAIR(_ZN6G3x2y3D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI6G3x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x2y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y3[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y3[] = {
+ {&(_ZTV6G3x2y3[6]), 6,22},
+ {&(_ZTV6G3x2y3[10]), 10,22},
+ {&(_ZTV6G3x2y3[13]), 13,22},
+ {&(_ZTV6G3x2y3[17]), 17,22},
+ {&(_ZTV6G3x2y3[21]), 21,22},
+ {&(_tg__ZTV4E3x2__6G3x2y3[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x2y3[];
+extern VTBL_ENTRY _ZTV6G3x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y3[];
+Class_Descriptor cd_G3x2y3 = { "G3x2y3", // class name
+ bases_G3x2y3, 6,
+ &(vtc_G3x2y3[0]), // expected_vtbl_contents
+ &(vtt_G3x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G3x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y3),10, //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 G3x2y4 : E3x2 , F0 {
+ int ff;
+ ~G3x2y4(); // tgen
+ G3x2y4(); // tgen
+};
+//SIG(1 G3x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x2y4 ::~G3x2y4(){ note_dtor("G3x2y4", this);} // tgen
+G3x2y4 ::G3x2y4(){ note_ctor("G3x2y4", this);} // tgen
+
+static void Test_G3x2y4()
+{
+ extern Class_Descriptor cd_G3x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G3x2y4, buf);
+ G3x2y4 *dp, &lv = *(dp=new (buf) G3x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G3x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y4)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(32,24), "G3x2y4");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(8,4), "G3x2y4");
+ check_base_class_offset(lv, (C3*)(E3x2*), 0, "G3x2y4");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(48,32), "G3x2y4");
+ check_base_class_offset(lv, (E3x2*), 0, "G3x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G3x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G3x2y4.ff");
+ test_class_info(&lv, &cd_G3x2y4);
+ dp->~G3x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y4(Test_G3x2y4, "G3x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y4C1Ev();
+extern void _ZN6G3x2y4D1Ev();
+Name_Map name_map_G3x2y4[] = {
+ NSPAIR(_ZN6G3x2y4C1Ev),
+ NSPAIR(_ZN6G3x2y4D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 4, //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
+ 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(48,32), //bcp->offset
+ 8, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y4[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y4[] = {
+ {&(_ZTV6G3x2y4[4]), 4,12},
+ {&(_tg__ZTV4E3x2__6G3x2y4[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y4[3]), 3,4},
+ {&(_ZTV6G3x2y4[7]), 7,12},
+ {&(_ZTV6G3x2y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G3x2y4[];
+extern VTBL_ENTRY _ZTV6G3x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y4[];
+Class_Descriptor cd_G3x2y4 = { "G3x2y4", // class name
+ bases_G3x2y4, 6,
+ &(vtc_G3x2y4[0]), // expected_vtbl_contents
+ &(vtt_G3x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G3x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y4),8, //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 G3x2y5 : virtual E3x2 , F0 {
+ int ff;
+ ~G3x2y5(); // tgen
+ G3x2y5(); // tgen
+};
+//SIG(1 G3x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x2y5 ::~G3x2y5(){ note_dtor("G3x2y5", this);} // tgen
+G3x2y5 ::G3x2y5(){ note_ctor("G3x2y5", this);} // tgen
+
+static void Test_G3x2y5()
+{
+ extern Class_Descriptor cd_G3x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x2y5, buf);
+ G3x2y5 *dp, &lv = *(dp=new (buf) G3x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y5)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(40,28), "G3x2y5");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(24,16), "G3x2y5");
+ check_base_class_offset(lv, (C3*)(E3x2*), ABISELECT(16,12), "G3x2y5");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(56,36), "G3x2y5");
+ check_base_class_offset(lv, (E3x2*), ABISELECT(16,12), "G3x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x2y5.ff");
+ test_class_info(&lv, &cd_G3x2y5);
+ dp->~G3x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y5(Test_G3x2y5, "G3x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y5C1Ev();
+extern void _ZN6G3x2y5D1Ev();
+Name_Map name_map_G3x2y5[] = {
+ NSPAIR(_ZN6G3x2y5C1Ev),
+ NSPAIR(_ZN6G3x2y5D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, 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_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 _ZTI6G3x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x2y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y5[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y5[] = {
+ {&(_ZTV6G3x2y5[5]), 5,17},
+ {&(_ZTV6G3x2y5[9]), 9,17},
+ {&(_ZTV6G3x2y5[12]), 12,17},
+ {&(_ZTV6G3x2y5[16]), 16,17},
+ {&(_tg__ZTV4E3x2__6G3x2y5[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x2y5[];
+extern VTBL_ENTRY _ZTV6G3x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y5[];
+Class_Descriptor cd_G3x2y5 = { "G3x2y5", // class name
+ bases_G3x2y5, 6,
+ &(vtc_G3x2y5[0]), // expected_vtbl_contents
+ &(vtt_G3x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y5),9, //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 G3x2y6 : E3x2 , virtual F0 {
+ int ff;
+ ~G3x2y6(); // tgen
+ G3x2y6(); // tgen
+};
+//SIG(1 G3x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x2y6 ::~G3x2y6(){ note_dtor("G3x2y6", this);} // tgen
+G3x2y6 ::G3x2y6(){ note_ctor("G3x2y6", this);} // tgen
+
+static void Test_G3x2y6()
+{
+ extern Class_Descriptor cd_G3x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x2y6, buf);
+ G3x2y6 *dp, &lv = *(dp=new (buf) G3x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y6)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(24,20), "G3x2y6");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(8,4), "G3x2y6");
+ check_base_class_offset(lv, (C3*)(E3x2*), 0, "G3x2y6");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(40,28), "G3x2y6");
+ check_base_class_offset(lv, (E3x2*), 0, "G3x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x2y6.ff");
+ test_class_info(&lv, &cd_G3x2y6);
+ dp->~G3x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y6(Test_G3x2y6, "G3x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y6C1Ev();
+extern void _ZN6G3x2y6D1Ev();
+Name_Map name_map_G3x2y6[] = {
+ NSPAIR(_ZN6G3x2y6C1Ev),
+ NSPAIR(_ZN6G3x2y6D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ 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(40,28), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, 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 _ZTI6G3x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y6[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y6[] = {
+ {&(_ZTV6G3x2y6[5]), 5,13},
+ {&(_tg__ZTV4E3x2__6G3x2y6[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y6[3]), 3,4},
+ {&(_ZTV6G3x2y6[8]), 8,13},
+ {&(_ZTV6G3x2y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G3x2y6[];
+extern VTBL_ENTRY _ZTV6G3x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y6[];
+Class_Descriptor cd_G3x2y6 = { "G3x2y6", // class name
+ bases_G3x2y6, 6,
+ &(vtc_G3x2y6[0]), // expected_vtbl_contents
+ &(vtt_G3x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y6),8, //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 G3x2y7 : virtual E3x2 , virtual F0 {
+ int ff;
+ ~G3x2y7(); // tgen
+ G3x2y7(); // tgen
+};
+//SIG(1 G3x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x2y7 ::~G3x2y7(){ note_dtor("G3x2y7", this);} // tgen
+G3x2y7 ::G3x2y7(){ note_ctor("G3x2y7", this);} // tgen
+
+static void Test_G3x2y7()
+{
+ extern Class_Descriptor cd_G3x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x2y7, buf);
+ G3x2y7 *dp, &lv = *(dp=new (buf) G3x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x2y7)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x2*), ABISELECT(40,24), "G3x2y7");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x2*), ABISELECT(24,12), "G3x2y7");
+ check_base_class_offset(lv, (C3*)(E3x2*), ABISELECT(16,8), "G3x2y7");
+ check_base_class_offset(lv, (D1*)(E3x2*), ABISELECT(56,32), "G3x2y7");
+ check_base_class_offset(lv, (E3x2*), ABISELECT(16,8), "G3x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G3x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x2y7.ff");
+ test_class_info(&lv, &cd_G3x2y7);
+ dp->~G3x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x2y7(Test_G3x2y7, "G3x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x2y7C1Ev();
+extern void _ZN6G3x2y7D1Ev();
+Name_Map name_map_G3x2y7[] = {
+ NSPAIR(_ZN6G3x2y7C1Ev),
+ NSPAIR(_ZN6G3x2y7D1Ev),
+ {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_E3x2;
+extern VTBL_ENTRY _ZTI4E3x2[];
+extern VTBL_ENTRY _ZTV4E3x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x2, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI6G3x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x2y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x2y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x2y7[];
+static VTBL_ENTRY _tg__ZTV4E3x2__6G3x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x2__6G3x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x2__6G3x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x2__6G3x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x2__6G3x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G3x2y7[] = {
+ {&(_ZTV6G3x2y7[6]), 6,18},
+ {&(_ZTV6G3x2y7[10]), 10,18},
+ {&(_ZTV6G3x2y7[13]), 13,18},
+ {&(_ZTV6G3x2y7[17]), 17,18},
+ {&(_tg__ZTV4E3x2__6G3x2y7[4]), 4,4},
+ {&(_tg__ZTV2C34E3x2__6G3x2y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x2__6G3x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x2__6G3x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x2__6G3x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x2y7[];
+extern VTBL_ENTRY _ZTV6G3x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x2y7[];
+Class_Descriptor cd_G3x2y7 = { "G3x2y7", // class name
+ bases_G3x2y7, 6,
+ &(vtc_G3x2y7[0]), // expected_vtbl_contents
+ &(vtt_G3x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x2y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x2y7),9, //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 E4x2 : C4 , virtual D1 {
+ int fd;
+ ~E4x2(); // tgen
+ E4x2(); // tgen
+};
+//SIG(-1 E4x2) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E4x2 ::~E4x2(){ note_dtor("E4x2", this);} // tgen
+E4x2 ::E4x2(){ note_ctor("E4x2", this);} // tgen
+
+static void Test_E4x2()
+{
+ extern Class_Descriptor cd_E4x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x2, buf);
+ E4x2 *dp, &lv = *(dp=new (buf) E4x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x2)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(12,8), "E4x2");
+ check_base_class_offset(lv, (B1*)(C4*), 0, "E4x2");
+ check_base_class_offset(lv, (C4*), 0, "E4x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E4x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E4x2.fd");
+ test_class_info(&lv, &cd_E4x2);
+ dp->~E4x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x2(Test_E4x2, "E4x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x2C1Ev();
+extern void _ZN4E4x2D1Ev();
+Name_Map name_map_E4x2[] = {
+ NSPAIR(_ZN4E4x2C1Ev),
+ NSPAIR(_ZN4E4x2D1Ev),
+ {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_E4x2[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //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 _ZTI4E4x2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E4x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x2[];
+static VTT_ENTRY vtt_E4x2[] = {
+ {&(_ZTV4E4x2[3]), 3,8},
+ {&(_ZTV4E4x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+Class_Descriptor cd_E4x2 = { "E4x2", // class name
+ bases_E4x2, 4,
+ &(vtc_E4x2[0]), // expected_vtbl_contents
+ &(vtt_E4x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x2),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 G4x2y0 : E4x2 , F1 {
+ int ff;
+ ~G4x2y0(); // tgen
+ G4x2y0(); // tgen
+};
+//SIG(1 G4x2y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x2y0 ::~G4x2y0(){ note_dtor("G4x2y0", this);} // tgen
+G4x2y0 ::G4x2y0(){ note_ctor("G4x2y0", this);} // tgen
+
+static void Test_G4x2y0()
+{
+ extern Class_Descriptor cd_G4x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x2y0, buf);
+ G4x2y0 *dp, &lv = *(dp=new (buf) G4x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y0)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(12,8), "G4x2y0");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), 0, "G4x2y0");
+ check_base_class_offset(lv, (C4*)(E4x2*), 0, "G4x2y0");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(40,32), "G4x2y0");
+ check_base_class_offset(lv, (E4x2*), 0, "G4x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G4x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G4x2y0.ff");
+ test_class_info(&lv, &cd_G4x2y0);
+ dp->~G4x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y0(Test_G4x2y0, "G4x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y0C1Ev();
+extern void _ZN6G4x2y0D1Ev();
+Name_Map name_map_G4x2y0[] = {
+ NSPAIR(_ZN6G4x2y0C1Ev),
+ NSPAIR(_ZN6G4x2y0D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x2y0[] = {
+ // 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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(24,20), //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x2y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y0[] = {
+ {&(_ZTV6G4x2y0[3]), 3,11},
+ {&(_tg__ZTV4E4x2__6G4x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y0[3]), 3,4},
+ {&(_ZTV6G4x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x2y0[];
+extern VTBL_ENTRY _ZTV6G4x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y0[];
+Class_Descriptor cd_G4x2y0 = { "G4x2y0", // class name
+ bases_G4x2y0, 6,
+ &(vtc_G4x2y0[0]), // expected_vtbl_contents
+ &(vtt_G4x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y0),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 G4x2y1 : virtual E4x2 , F1 {
+ int ff;
+ ~G4x2y1(); // tgen
+ G4x2y1(); // tgen
+};
+//SIG(1 G4x2y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x2y1 ::~G4x2y1(){ note_dtor("G4x2y1", this);} // tgen
+G4x2y1 ::G4x2y1(){ note_ctor("G4x2y1", this);} // tgen
+
+static void Test_G4x2y1()
+{
+ extern Class_Descriptor cd_G4x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x2y1, buf);
+ G4x2y1 *dp, &lv = *(dp=new (buf) G4x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y1)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(28,20), "G4x2y1");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), ABISELECT(16,12), "G4x2y1");
+ check_base_class_offset(lv, (C4*)(E4x2*), ABISELECT(16,12), "G4x2y1");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(40,32), "G4x2y1");
+ check_base_class_offset(lv, (E4x2*), ABISELECT(16,12), "G4x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x2y1.ff");
+ test_class_info(&lv, &cd_G4x2y1);
+ dp->~G4x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y1(Test_G4x2y1, "G4x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y1C1Ev();
+extern void _ZN6G4x2y1D1Ev();
+Name_Map name_map_G4x2y1[] = {
+ NSPAIR(_ZN6G4x2y1C1Ev),
+ NSPAIR(_ZN6G4x2y1D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x2y1[] = {
+ // 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
+ 2, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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 _ZTI6G4x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y1[] = {
+ {&(_ZTV6G4x2y1[4]), 4,14},
+ {&(_ZTV6G4x2y1[9]), 9,14},
+ {&(_ZTV6G4x2y1[13]), 13,14},
+ {&(_tg__ZTV4E4x2__6G4x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x2y1[];
+extern VTBL_ENTRY _ZTV6G4x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y1[];
+Class_Descriptor cd_G4x2y1 = { "G4x2y1", // class name
+ bases_G4x2y1, 6,
+ &(vtc_G4x2y1[0]), // expected_vtbl_contents
+ &(vtt_G4x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y1),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 G4x2y2 : E4x2 , virtual F1 {
+ int ff;
+ ~G4x2y2(); // tgen
+ G4x2y2(); // tgen
+};
+//SIG(1 G4x2y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x2y2 ::~G4x2y2(){ note_dtor("G4x2y2", this);} // tgen
+G4x2y2 ::G4x2y2(){ note_ctor("G4x2y2", this);} // tgen
+
+static void Test_G4x2y2()
+{
+ extern Class_Descriptor cd_G4x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x2y2, buf);
+ G4x2y2 *dp, &lv = *(dp=new (buf) G4x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y2)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(12,8), "G4x2y2");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), 0, "G4x2y2");
+ check_base_class_offset(lv, (C4*)(E4x2*), 0, "G4x2y2");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(32,24), "G4x2y2");
+ check_base_class_offset(lv, (E4x2*), 0, "G4x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G4x2y2.ff");
+ test_class_info(&lv, &cd_G4x2y2);
+ dp->~G4x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y2(Test_G4x2y2, "G4x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y2C1Ev();
+extern void _ZN6G4x2y2D1Ev();
+Name_Map name_map_G4x2y2[] = {
+ NSPAIR(_ZN6G4x2y2C1Ev),
+ NSPAIR(_ZN6G4x2y2D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x2y2[] = {
+ // 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
+ 3, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x2y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y2[] = {
+ {&(_ZTV6G4x2y2[4]), 4,13},
+ {&(_tg__ZTV4E4x2__6G4x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y2[3]), 3,4},
+ {&(_ZTV6G4x2y2[8]), 8,13},
+ {&(_ZTV6G4x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G4x2y2[];
+extern VTBL_ENTRY _ZTV6G4x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y2[];
+Class_Descriptor cd_G4x2y2 = { "G4x2y2", // class name
+ bases_G4x2y2, 6,
+ &(vtc_G4x2y2[0]), // expected_vtbl_contents
+ &(vtt_G4x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y2),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 G4x2y3 : virtual E4x2 , virtual F1 {
+ int ff;
+ ~G4x2y3(); // tgen
+ G4x2y3(); // tgen
+};
+//SIG(1 G4x2y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x2y3 ::~G4x2y3(){ note_dtor("G4x2y3", this);} // tgen
+G4x2y3 ::G4x2y3(){ note_ctor("G4x2y3", this);} // tgen
+
+static void Test_G4x2y3()
+{
+ extern Class_Descriptor cd_G4x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x2y3, buf);
+ G4x2y3 *dp, &lv = *(dp=new (buf) G4x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y3)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(28,16), "G4x2y3");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), ABISELECT(16,8), "G4x2y3");
+ check_base_class_offset(lv, (C4*)(E4x2*), ABISELECT(16,8), "G4x2y3");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(40,28), "G4x2y3");
+ check_base_class_offset(lv, (E4x2*), ABISELECT(16,8), "G4x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x2y3.ff");
+ test_class_info(&lv, &cd_G4x2y3);
+ dp->~G4x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y3(Test_G4x2y3, "G4x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y3C1Ev();
+extern void _ZN6G4x2y3D1Ev();
+Name_Map name_map_G4x2y3[] = {
+ NSPAIR(_ZN6G4x2y3C1Ev),
+ NSPAIR(_ZN6G4x2y3D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x2y3[] = {
+ // 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
+ 2, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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
+ 14, //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 _ZTI6G4x2y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y3[] = {
+ {&(_ZTV6G4x2y3[5]), 5,18},
+ {&(_ZTV6G4x2y3[9]), 9,18},
+ {&(_ZTV6G4x2y3[13]), 13,18},
+ {&(_ZTV6G4x2y3[17]), 17,18},
+ {&(_tg__ZTV4E4x2__6G4x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x2y3[];
+extern VTBL_ENTRY _ZTV6G4x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y3[];
+Class_Descriptor cd_G4x2y3 = { "G4x2y3", // class name
+ bases_G4x2y3, 6,
+ &(vtc_G4x2y3[0]), // expected_vtbl_contents
+ &(vtt_G4x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y3),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 G4x2y4 : E4x2 , F0 {
+ int ff;
+ ~G4x2y4(); // tgen
+ G4x2y4(); // tgen
+};
+//SIG(1 G4x2y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x2y4 ::~G4x2y4(){ note_dtor("G4x2y4", this);} // tgen
+G4x2y4 ::G4x2y4(){ note_ctor("G4x2y4", this);} // tgen
+
+static void Test_G4x2y4()
+{
+ extern Class_Descriptor cd_G4x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x2y4, buf);
+ G4x2y4 *dp, &lv = *(dp=new (buf) G4x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y4)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(12,8), "G4x2y4");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), 0, "G4x2y4");
+ check_base_class_offset(lv, (C4*)(E4x2*), 0, "G4x2y4");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(32,28), "G4x2y4");
+ check_base_class_offset(lv, (E4x2*), 0, "G4x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G4x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G4x2y4.ff");
+ test_class_info(&lv, &cd_G4x2y4);
+ dp->~G4x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y4(Test_G4x2y4, "G4x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y4C1Ev();
+extern void _ZN6G4x2y4D1Ev();
+Name_Map name_map_G4x2y4[] = {
+ NSPAIR(_ZN6G4x2y4C1Ev),
+ NSPAIR(_ZN6G4x2y4D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x2y4[] = {
+ // 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(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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(24,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 _ZTI6G4x2y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y4[] = {
+ {&(_ZTV6G4x2y4[3]), 3,8},
+ {&(_tg__ZTV4E4x2__6G4x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y4[3]), 3,4},
+ {&(_ZTV6G4x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x2y4[];
+extern VTBL_ENTRY _ZTV6G4x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y4[];
+Class_Descriptor cd_G4x2y4 = { "G4x2y4", // class name
+ bases_G4x2y4, 6,
+ &(vtc_G4x2y4[0]), // expected_vtbl_contents
+ &(vtt_G4x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y4),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 G4x2y5 : virtual E4x2 , F0 {
+ int ff;
+ ~G4x2y5(); // tgen
+ G4x2y5(); // tgen
+};
+//SIG(1 G4x2y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x2y5 ::~G4x2y5(){ note_dtor("G4x2y5", this);} // tgen
+G4x2y5 ::G4x2y5(){ note_ctor("G4x2y5", this);} // tgen
+
+static void Test_G4x2y5()
+{
+ extern Class_Descriptor cd_G4x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x2y5, buf);
+ G4x2y5 *dp, &lv = *(dp=new (buf) G4x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y5)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(28,20), "G4x2y5");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), ABISELECT(16,12), "G4x2y5");
+ check_base_class_offset(lv, (C4*)(E4x2*), ABISELECT(16,12), "G4x2y5");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(40,32), "G4x2y5");
+ check_base_class_offset(lv, (E4x2*), ABISELECT(16,12), "G4x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x2y5.ff");
+ test_class_info(&lv, &cd_G4x2y5);
+ dp->~G4x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y5(Test_G4x2y5, "G4x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y5C1Ev();
+extern void _ZN6G4x2y5D1Ev();
+Name_Map name_map_G4x2y5[] = {
+ NSPAIR(_ZN6G4x2y5C1Ev),
+ NSPAIR(_ZN6G4x2y5D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x2y5[] = {
+ // 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
+ 2, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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 _ZTI6G4x2y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y5[] = {
+ {&(_ZTV6G4x2y5[4]), 4,13},
+ {&(_ZTV6G4x2y5[8]), 8,13},
+ {&(_ZTV6G4x2y5[12]), 12,13},
+ {&(_tg__ZTV4E4x2__6G4x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x2y5[];
+extern VTBL_ENTRY _ZTV6G4x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y5[];
+Class_Descriptor cd_G4x2y5 = { "G4x2y5", // class name
+ bases_G4x2y5, 6,
+ &(vtc_G4x2y5[0]), // expected_vtbl_contents
+ &(vtt_G4x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y5),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 G4x2y6 : E4x2 , virtual F0 {
+ int ff;
+ ~G4x2y6(); // tgen
+ G4x2y6(); // tgen
+};
+//SIG(1 G4x2y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x2y6 ::~G4x2y6(){ note_dtor("G4x2y6", this);} // tgen
+G4x2y6 ::G4x2y6(){ note_ctor("G4x2y6", this);} // tgen
+
+static void Test_G4x2y6()
+{
+ extern Class_Descriptor cd_G4x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x2y6, buf);
+ G4x2y6 *dp, &lv = *(dp=new (buf) G4x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y6)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(12,8), "G4x2y6");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), 0, "G4x2y6");
+ check_base_class_offset(lv, (C4*)(E4x2*), 0, "G4x2y6");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(32,24), "G4x2y6");
+ check_base_class_offset(lv, (E4x2*), 0, "G4x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G4x2y6.ff");
+ test_class_info(&lv, &cd_G4x2y6);
+ dp->~G4x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y6(Test_G4x2y6, "G4x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y6C1Ev();
+extern void _ZN6G4x2y6D1Ev();
+Name_Map name_map_G4x2y6[] = {
+ NSPAIR(_ZN6G4x2y6C1Ev),
+ NSPAIR(_ZN6G4x2y6D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x2y6[] = {
+ // 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(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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(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 _ZTI6G4x2y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y6[] = {
+ {&(_ZTV6G4x2y6[4]), 4,9},
+ {&(_tg__ZTV4E4x2__6G4x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y6[3]), 3,4},
+ {&(_ZTV6G4x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G4x2y6[];
+extern VTBL_ENTRY _ZTV6G4x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y6[];
+Class_Descriptor cd_G4x2y6 = { "G4x2y6", // class name
+ bases_G4x2y6, 6,
+ &(vtc_G4x2y6[0]), // expected_vtbl_contents
+ &(vtt_G4x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y6),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 G4x2y7 : virtual E4x2 , virtual F0 {
+ int ff;
+ ~G4x2y7(); // tgen
+ G4x2y7(); // tgen
+};
+//SIG(1 G4x2y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x2y7 ::~G4x2y7(){ note_dtor("G4x2y7", this);} // tgen
+G4x2y7 ::G4x2y7(){ note_ctor("G4x2y7", this);} // tgen
+
+static void Test_G4x2y7()
+{
+ extern Class_Descriptor cd_G4x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x2y7, buf);
+ G4x2y7 *dp, &lv = *(dp=new (buf) G4x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x2y7)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x2*), ABISELECT(28,16), "G4x2y7");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x2*), ABISELECT(16,8), "G4x2y7");
+ check_base_class_offset(lv, (C4*)(E4x2*), ABISELECT(16,8), "G4x2y7");
+ check_base_class_offset(lv, (D1*)(E4x2*), ABISELECT(40,28), "G4x2y7");
+ check_base_class_offset(lv, (E4x2*), ABISELECT(16,8), "G4x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G4x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x2y7.ff");
+ test_class_info(&lv, &cd_G4x2y7);
+ dp->~G4x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x2y7(Test_G4x2y7, "G4x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x2y7C1Ev();
+extern void _ZN6G4x2y7D1Ev();
+Name_Map name_map_G4x2y7[] = {
+ NSPAIR(_ZN6G4x2y7C1Ev),
+ NSPAIR(_ZN6G4x2y7D1Ev),
+ {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_E4x2;
+extern VTBL_ENTRY _ZTI4E4x2[];
+extern VTBL_ENTRY _ZTV4E4x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x2y7[] = {
+ // 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
+ 2, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x2, 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 _ZTI6G4x2y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x2y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x2__6G4x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x2__6G4x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x2y7[] = {
+ {&(_ZTV6G4x2y7[5]), 5,14},
+ {&(_ZTV6G4x2y7[9]), 9,14},
+ {&(_ZTV6G4x2y7[13]), 13,14},
+ {&(_tg__ZTV4E4x2__6G4x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x2__6G4x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x2y7[];
+extern VTBL_ENTRY _ZTV6G4x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x2y7[];
+Class_Descriptor cd_G4x2y7 = { "G4x2y7", // class name
+ bases_G4x2y7, 6,
+ &(vtc_G4x2y7[0]), // expected_vtbl_contents
+ &(vtt_G4x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x2y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x2y7),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 E5x2 : C5 , virtual D1 {
+ int fd;
+ ~E5x2(); // tgen
+ E5x2(); // tgen
+};
+//SIG(-1 E5x2) C1{ BC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E5x2 ::~E5x2(){ note_dtor("E5x2", this);} // tgen
+E5x2 ::E5x2(){ note_ctor("E5x2", this);} // tgen
+
+static void Test_E5x2()
+{
+ extern Class_Descriptor cd_E5x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E5x2, buf);
+ E5x2 *dp, &lv = *(dp=new (buf) E5x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E5x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x2)");
+ check_base_class_offset(lv, (A1*)(C5*), 0, "E5x2");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(16,8), "E5x2");
+ check_base_class_offset(lv, (C5*), 0, "E5x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E5x2");
+ check_field_offset(lv, fd, ABISELECT(32,20), "E5x2.fd");
+ test_class_info(&lv, &cd_E5x2);
+ dp->~E5x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x2(Test_E5x2, "E5x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x2C1Ev();
+extern void _ZN4E5x2D1Ev();
+Name_Map name_map_E5x2[] = {
+ NSPAIR(_ZN4E5x2C1Ev),
+ NSPAIR(_ZN4E5x2D1Ev),
+ {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_E5x2[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //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 _ZTI4E5x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E5x2[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x2[];
+static VTT_ENTRY vtt_E5x2[] = {
+ {&(_ZTV4E5x2[3]), 3,11},
+ {&(_ZTV4E5x2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+Class_Descriptor cd_E5x2 = { "E5x2", // class name
+ bases_E5x2, 4,
+ &(vtc_E5x2[0]), // expected_vtbl_contents
+ &(vtt_E5x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E5x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x2),2, //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 G5x2y0 : E5x2 , F1 {
+ int ff;
+ ~G5x2y0(); // tgen
+ G5x2y0(); // tgen
+};
+//SIG(1 G5x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x2y0 ::~G5x2y0(){ note_dtor("G5x2y0", this);} // tgen
+G5x2y0 ::G5x2y0(){ note_ctor("G5x2y0", this);} // tgen
+
+static void Test_G5x2y0()
+{
+ extern Class_Descriptor cd_G5x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x2y0, buf);
+ G5x2y0 *dp, &lv = *(dp=new (buf) G5x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y0)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), 0, "G5x2y0");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y0");
+ check_base_class_offset(lv, (C5*)(E5x2*), 0, "G5x2y0");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(56,36), "G5x2y0");
+ check_base_class_offset(lv, (E5x2*), 0, "G5x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,24), "G5x2y0");
+ check_field_offset(lv, ff, ABISELECT(52,32), "G5x2y0.ff");
+ test_class_info(&lv, &cd_G5x2y0);
+ dp->~G5x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y0(Test_G5x2y0, "G5x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y0C1Ev();
+extern void _ZN6G5x2y0D1Ev();
+Name_Map name_map_G5x2y0[] = {
+ NSPAIR(_ZN6G5x2y0C1Ev),
+ NSPAIR(_ZN6G5x2y0D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x2y0[] = {
+ // 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(56,36), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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,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 _ZTI6G5x2y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y0[] = {
+ {&(_ZTV6G5x2y0[3]), 3,14},
+ {&(_tg__ZTV4E5x2__6G5x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y0[3]), 3,4},
+ {&(_ZTV6G5x2y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x2y0[];
+extern VTBL_ENTRY _ZTV6G5x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y0[];
+Class_Descriptor cd_G5x2y0 = { "G5x2y0", // class name
+ bases_G5x2y0, 6,
+ &(vtc_G5x2y0[0]), // expected_vtbl_contents
+ &(vtt_G5x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y0),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 G5x2y1 : virtual E5x2 , F1 {
+ int ff;
+ ~G5x2y1(); // tgen
+ G5x2y1(); // tgen
+};
+//SIG(1 G5x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x2y1 ::~G5x2y1(){ note_dtor("G5x2y1", this);} // tgen
+G5x2y1 ::G5x2y1(){ note_ctor("G5x2y1", this);} // tgen
+
+static void Test_G5x2y1()
+{
+ extern Class_Descriptor cd_G5x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x2y1, buf);
+ G5x2y1 *dp, &lv = *(dp=new (buf) G5x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y1)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), ABISELECT(16,12), "G5x2y1");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(32,20), "G5x2y1");
+ check_base_class_offset(lv, (C5*)(E5x2*), ABISELECT(16,12), "G5x2y1");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(56,36), "G5x2y1");
+ check_base_class_offset(lv, (E5x2*), ABISELECT(16,12), "G5x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x2y1.ff");
+ test_class_info(&lv, &cd_G5x2y1);
+ dp->~G5x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y1(Test_G5x2y1, "G5x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y1C1Ev();
+extern void _ZN6G5x2y1D1Ev();
+Name_Map name_map_G5x2y1[] = {
+ NSPAIR(_ZN6G5x2y1C1Ev),
+ NSPAIR(_ZN6G5x2y1D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x2y1[] = {
+ // 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(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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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 _ZTI6G5x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y1[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y1[] = {
+ {&(_ZTV6G5x2y1[4]), 4,17},
+ {&(_ZTV6G5x2y1[9]), 9,17},
+ {&(_ZTV6G5x2y1[12]), 12,17},
+ {&(_ZTV6G5x2y1[16]), 16,17},
+ {&(_tg__ZTV4E5x2__6G5x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x2y1[];
+extern VTBL_ENTRY _ZTV6G5x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y1[];
+Class_Descriptor cd_G5x2y1 = { "G5x2y1", // class name
+ bases_G5x2y1, 6,
+ &(vtc_G5x2y1[0]), // expected_vtbl_contents
+ &(vtt_G5x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y1),6, //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 G5x2y2 : E5x2 , virtual F1 {
+ int ff;
+ ~G5x2y2(); // tgen
+ G5x2y2(); // tgen
+};
+//SIG(1 G5x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x2y2 ::~G5x2y2(){ note_dtor("G5x2y2", this);} // tgen
+G5x2y2 ::G5x2y2(){ note_ctor("G5x2y2", this);} // tgen
+
+static void Test_G5x2y2()
+{
+ extern Class_Descriptor cd_G5x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x2y2, buf);
+ G5x2y2 *dp, &lv = *(dp=new (buf) G5x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y2)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), 0, "G5x2y2");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y2");
+ check_base_class_offset(lv, (C5*)(E5x2*), 0, "G5x2y2");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(40,28), "G5x2y2");
+ check_base_class_offset(lv, (E5x2*), 0, "G5x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x2y2");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G5x2y2.ff");
+ test_class_info(&lv, &cd_G5x2y2);
+ dp->~G5x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y2(Test_G5x2y2, "G5x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y2C1Ev();
+extern void _ZN6G5x2y2D1Ev();
+Name_Map name_map_G5x2y2[] = {
+ NSPAIR(_ZN6G5x2y2C1Ev),
+ NSPAIR(_ZN6G5x2y2D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x2y2[] = {
+ // 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(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
+ 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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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)
+ 5, //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 _ZTI6G5x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y2[] = {
+ {&(_ZTV6G5x2y2[4]), 4,16},
+ {&(_tg__ZTV4E5x2__6G5x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y2[3]), 3,4},
+ {&(_ZTV6G5x2y2[11]), 11,16},
+ {&(_ZTV6G5x2y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G5x2y2[];
+extern VTBL_ENTRY _ZTV6G5x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y2[];
+Class_Descriptor cd_G5x2y2 = { "G5x2y2", // class name
+ bases_G5x2y2, 6,
+ &(vtc_G5x2y2[0]), // expected_vtbl_contents
+ &(vtt_G5x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y2),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 G5x2y3 : virtual E5x2 , virtual F1 {
+ int ff;
+ ~G5x2y3(); // tgen
+ G5x2y3(); // tgen
+};
+//SIG(1 G5x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x2y3 ::~G5x2y3(){ note_dtor("G5x2y3", this);} // tgen
+G5x2y3 ::G5x2y3(){ note_ctor("G5x2y3", this);} // tgen
+
+static void Test_G5x2y3()
+{
+ extern Class_Descriptor cd_G5x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G5x2y3, buf);
+ G5x2y3 *dp, &lv = *(dp=new (buf) G5x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G5x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y3)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y3");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(32,16), "G5x2y3");
+ check_base_class_offset(lv, (C5*)(E5x2*), ABISELECT(16,8), "G5x2y3");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(56,32), "G5x2y3");
+ check_base_class_offset(lv, (E5x2*), ABISELECT(16,8), "G5x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G5x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x2y3.ff");
+ test_class_info(&lv, &cd_G5x2y3);
+ dp->~G5x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y3(Test_G5x2y3, "G5x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y3C1Ev();
+extern void _ZN6G5x2y3D1Ev();
+Name_Map name_map_G5x2y3[] = {
+ NSPAIR(_ZN6G5x2y3C1Ev),
+ NSPAIR(_ZN6G5x2y3D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x2y3[] = {
+ // 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(32,16), //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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(72,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 _ZTI6G5x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y3[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y3[] = {
+ {&(_ZTV6G5x2y3[5]), 5,21},
+ {&(_ZTV6G5x2y3[9]), 9,21},
+ {&(_ZTV6G5x2y3[12]), 12,21},
+ {&(_ZTV6G5x2y3[16]), 16,21},
+ {&(_ZTV6G5x2y3[20]), 20,21},
+ {&(_tg__ZTV4E5x2__6G5x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x2y3[];
+extern VTBL_ENTRY _ZTV6G5x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y3[];
+Class_Descriptor cd_G5x2y3 = { "G5x2y3", // class name
+ bases_G5x2y3, 6,
+ &(vtc_G5x2y3[0]), // expected_vtbl_contents
+ &(vtt_G5x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G5x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y3),7, //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 G5x2y4 : E5x2 , F0 {
+ int ff;
+ ~G5x2y4(); // tgen
+ G5x2y4(); // tgen
+};
+//SIG(1 G5x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x2y4 ::~G5x2y4(){ note_dtor("G5x2y4", this);} // tgen
+G5x2y4 ::G5x2y4(){ note_ctor("G5x2y4", this);} // tgen
+
+static void Test_G5x2y4()
+{
+ extern Class_Descriptor cd_G5x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x2y4, buf);
+ G5x2y4 *dp, &lv = *(dp=new (buf) G5x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y4)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), 0, "G5x2y4");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y4");
+ check_base_class_offset(lv, (C5*)(E5x2*), 0, "G5x2y4");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(48,32), "G5x2y4");
+ check_base_class_offset(lv, (E5x2*), 0, "G5x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(36,24), "G5x2y4");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G5x2y4.ff");
+ test_class_info(&lv, &cd_G5x2y4);
+ dp->~G5x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y4(Test_G5x2y4, "G5x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y4C1Ev();
+extern void _ZN6G5x2y4D1Ev();
+Name_Map name_map_G5x2y4[] = {
+ NSPAIR(_ZN6G5x2y4C1Ev),
+ NSPAIR(_ZN6G5x2y4D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x2y4[] = {
+ // 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y4[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y4[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y4[] = {
+ {&(_ZTV6G5x2y4[3]), 3,11},
+ {&(_tg__ZTV4E5x2__6G5x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y4[3]), 3,4},
+ {&(_ZTV6G5x2y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x2y4[];
+extern VTBL_ENTRY _ZTV6G5x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y4[];
+Class_Descriptor cd_G5x2y4 = { "G5x2y4", // class name
+ bases_G5x2y4, 6,
+ &(vtc_G5x2y4[0]), // expected_vtbl_contents
+ &(vtt_G5x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y4),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 G5x2y5 : virtual E5x2 , F0 {
+ int ff;
+ ~G5x2y5(); // tgen
+ G5x2y5(); // tgen
+};
+//SIG(1 G5x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x2y5 ::~G5x2y5(){ note_dtor("G5x2y5", this);} // tgen
+G5x2y5 ::G5x2y5(){ note_ctor("G5x2y5", this);} // tgen
+
+static void Test_G5x2y5()
+{
+ extern Class_Descriptor cd_G5x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x2y5, buf);
+ G5x2y5 *dp, &lv = *(dp=new (buf) G5x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y5)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), ABISELECT(16,12), "G5x2y5");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(32,20), "G5x2y5");
+ check_base_class_offset(lv, (C5*)(E5x2*), ABISELECT(16,12), "G5x2y5");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(56,36), "G5x2y5");
+ check_base_class_offset(lv, (E5x2*), ABISELECT(16,12), "G5x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x2y5.ff");
+ test_class_info(&lv, &cd_G5x2y5);
+ dp->~G5x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y5(Test_G5x2y5, "G5x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y5C1Ev();
+extern void _ZN6G5x2y5D1Ev();
+Name_Map name_map_G5x2y5[] = {
+ NSPAIR(_ZN6G5x2y5C1Ev),
+ NSPAIR(_ZN6G5x2y5D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x2y5[] = {
+ // 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(32,20), //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 12, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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 _ZTI6G5x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y5[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y5[] = {
+ {&(_ZTV6G5x2y5[4]), 4,16},
+ {&(_ZTV6G5x2y5[8]), 8,16},
+ {&(_ZTV6G5x2y5[11]), 11,16},
+ {&(_ZTV6G5x2y5[15]), 15,16},
+ {&(_tg__ZTV4E5x2__6G5x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x2y5[];
+extern VTBL_ENTRY _ZTV6G5x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y5[];
+Class_Descriptor cd_G5x2y5 = { "G5x2y5", // class name
+ bases_G5x2y5, 6,
+ &(vtc_G5x2y5[0]), // expected_vtbl_contents
+ &(vtt_G5x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y5),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 G5x2y6 : E5x2 , virtual F0 {
+ int ff;
+ ~G5x2y6(); // tgen
+ G5x2y6(); // tgen
+};
+//SIG(1 G5x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x2y6 ::~G5x2y6(){ note_dtor("G5x2y6", this);} // tgen
+G5x2y6 ::G5x2y6(){ note_ctor("G5x2y6", this);} // tgen
+
+static void Test_G5x2y6()
+{
+ extern Class_Descriptor cd_G5x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x2y6, buf);
+ G5x2y6 *dp, &lv = *(dp=new (buf) G5x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y6)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), 0, "G5x2y6");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y6");
+ check_base_class_offset(lv, (C5*)(E5x2*), 0, "G5x2y6");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(40,28), "G5x2y6");
+ check_base_class_offset(lv, (E5x2*), 0, "G5x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G5x2y6");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G5x2y6.ff");
+ test_class_info(&lv, &cd_G5x2y6);
+ dp->~G5x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y6(Test_G5x2y6, "G5x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y6C1Ev();
+extern void _ZN6G5x2y6D1Ev();
+Name_Map name_map_G5x2y6[] = {
+ NSPAIR(_ZN6G5x2y6C1Ev),
+ NSPAIR(_ZN6G5x2y6D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x2y6[] = {
+ // 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
+ 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
+ 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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 _ZTI6G5x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y6[] = {
+ {&(_ZTV6G5x2y6[4]), 4,12},
+ {&(_tg__ZTV4E5x2__6G5x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y6[3]), 3,4},
+ {&(_ZTV6G5x2y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G5x2y6[];
+extern VTBL_ENTRY _ZTV6G5x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y6[];
+Class_Descriptor cd_G5x2y6 = { "G5x2y6", // class name
+ bases_G5x2y6, 6,
+ &(vtc_G5x2y6[0]), // expected_vtbl_contents
+ &(vtt_G5x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y6),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 G5x2y7 : virtual E5x2 , virtual F0 {
+ int ff;
+ ~G5x2y7(); // tgen
+ G5x2y7(); // tgen
+};
+//SIG(1 G5x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x2y7 ::~G5x2y7(){ note_dtor("G5x2y7", this);} // tgen
+G5x2y7 ::G5x2y7(){ note_ctor("G5x2y7", this);} // tgen
+
+static void Test_G5x2y7()
+{
+ extern Class_Descriptor cd_G5x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x2y7, buf);
+ G5x2y7 *dp, &lv = *(dp=new (buf) G5x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x2y7)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x2*), ABISELECT(16,8), "G5x2y7");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x2*), ABISELECT(32,16), "G5x2y7");
+ check_base_class_offset(lv, (C5*)(E5x2*), ABISELECT(16,8), "G5x2y7");
+ check_base_class_offset(lv, (D1*)(E5x2*), ABISELECT(56,32), "G5x2y7");
+ check_base_class_offset(lv, (E5x2*), ABISELECT(16,8), "G5x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G5x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x2y7.ff");
+ test_class_info(&lv, &cd_G5x2y7);
+ dp->~G5x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x2y7(Test_G5x2y7, "G5x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x2y7C1Ev();
+extern void _ZN6G5x2y7D1Ev();
+Name_Map name_map_G5x2y7[] = {
+ NSPAIR(_ZN6G5x2y7C1Ev),
+ NSPAIR(_ZN6G5x2y7D1Ev),
+ {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_E5x2;
+extern VTBL_ENTRY _ZTI4E5x2[];
+extern VTBL_ENTRY _ZTV4E5x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x2y7[] = {
+ // 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(32,16), //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x2, 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(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 _ZTI6G5x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x2y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x2__6G5x2y7[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x2__6G5x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x2y7[] = {
+ {&(_ZTV6G5x2y7[5]), 5,17},
+ {&(_ZTV6G5x2y7[9]), 9,17},
+ {&(_ZTV6G5x2y7[12]), 12,17},
+ {&(_ZTV6G5x2y7[16]), 16,17},
+ {&(_tg__ZTV4E5x2__6G5x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E5x2__6G5x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x2y7[];
+extern VTBL_ENTRY _ZTV6G5x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x2y7[];
+Class_Descriptor cd_G5x2y7 = { "G5x2y7", // class name
+ bases_G5x2y7, 6,
+ &(vtc_G5x2y7[0]), // expected_vtbl_contents
+ &(vtt_G5x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x2y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x2y7),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 E6x2 : C6 , virtual D1 {
+ int fd;
+ ~E6x2(); // tgen
+ E6x2(); // tgen
+};
+//SIG(-1 E6x2) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E6x2 ::~E6x2(){ note_dtor("E6x2", this);} // tgen
+E6x2 ::E6x2(){ note_ctor("E6x2", this);} // tgen
+
+static void Test_E6x2()
+{
+ extern Class_Descriptor cd_E6x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x2, buf);
+ E6x2 *dp, &lv = *(dp=new (buf) E6x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x2)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(20,16), "E6x2");
+ check_base_class_offset(lv, (B1*)(C6*), 0, "E6x2");
+ check_base_class_offset(lv, (C6*), 0, "E6x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E6x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E6x2.fd");
+ test_class_info(&lv, &cd_E6x2);
+ dp->~E6x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x2(Test_E6x2, "E6x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x2C1Ev();
+extern void _ZN4E6x2D1Ev();
+Name_Map name_map_E6x2[] = {
+ NSPAIR(_ZN4E6x2C1Ev),
+ NSPAIR(_ZN4E6x2D1Ev),
+ {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_E6x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E6x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x2[] = {
+ {&(_ZTV4E6x2[4]), 4,9},
+ {&(_tg__ZTV2C6__4E6x2[3]), 3,4},
+ {&(_ZTV4E6x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+Class_Descriptor cd_E6x2 = { "E6x2", // class name
+ bases_E6x2, 4,
+ &(vtc_E6x2[0]), // expected_vtbl_contents
+ &(vtt_E6x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x2),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 G6x2y0 : E6x2 , F1 {
+ int ff;
+ ~G6x2y0(); // tgen
+ G6x2y0(); // tgen
+};
+//SIG(1 G6x2y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x2y0 ::~G6x2y0(){ note_dtor("G6x2y0", this);} // tgen
+G6x2y0 ::G6x2y0(){ note_ctor("G6x2y0", this);} // tgen
+
+static void Test_G6x2y0()
+{
+ extern Class_Descriptor cd_G6x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x2y0, buf);
+ G6x2y0 *dp, &lv = *(dp=new (buf) G6x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y0)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(40,28), "G6x2y0");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), 0, "G6x2y0");
+ check_base_class_offset(lv, (C6*)(E6x2*), 0, "G6x2y0");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(48,32), "G6x2y0");
+ check_base_class_offset(lv, (E6x2*), 0, "G6x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G6x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G6x2y0.ff");
+ test_class_info(&lv, &cd_G6x2y0);
+ dp->~G6x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y0(Test_G6x2y0, "G6x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y0C1Ev();
+extern void _ZN6G6x2y0D1Ev();
+Name_Map name_map_G6x2y0[] = {
+ NSPAIR(_ZN6G6x2y0C1Ev),
+ NSPAIR(_ZN6G6x2y0D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x2y0[] = {
+ // 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, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x2y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y0[] = {
+ {&(_ZTV6G6x2y0[4]), 4,12},
+ {&(_tg__ZTV4E6x2__6G6x2y0[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y0[3]), 3,4},
+ {&(_ZTV6G6x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G6x2y0[];
+extern VTBL_ENTRY _ZTV6G6x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y0[];
+Class_Descriptor cd_G6x2y0 = { "G6x2y0", // class name
+ bases_G6x2y0, 6,
+ &(vtc_G6x2y0[0]), // expected_vtbl_contents
+ &(vtt_G6x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y0),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 G6x2y1 : virtual E6x2 , F1 {
+ int ff;
+ ~G6x2y1(); // tgen
+ G6x2y1(); // tgen
+};
+//SIG(1 G6x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x2y1 ::~G6x2y1(){ note_dtor("G6x2y1", this);} // tgen
+G6x2y1 ::G6x2y1(){ note_ctor("G6x2y1", this);} // tgen
+
+static void Test_G6x2y1()
+{
+ extern Class_Descriptor cd_G6x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x2y1, buf);
+ G6x2y1 *dp, &lv = *(dp=new (buf) G6x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y1)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(36,28), "G6x2y1");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), ABISELECT(16,12), "G6x2y1");
+ check_base_class_offset(lv, (C6*)(E6x2*), ABISELECT(16,12), "G6x2y1");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(40,32), "G6x2y1");
+ check_base_class_offset(lv, (E6x2*), ABISELECT(16,12), "G6x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x2y1.ff");
+ test_class_info(&lv, &cd_G6x2y1);
+ dp->~G6x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y1(Test_G6x2y1, "G6x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y1C1Ev();
+extern void _ZN6G6x2y1D1Ev();
+Name_Map name_map_G6x2y1[] = {
+ NSPAIR(_ZN6G6x2y1C1Ev),
+ NSPAIR(_ZN6G6x2y1D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x2y1[] = {
+ // 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, 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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
+ 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 _ZTI6G6x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y1[] = {
+ {&(_ZTV6G6x2y1[5]), 5,16},
+ {&(_ZTV6G6x2y1[11]), 11,16},
+ {&(_ZTV6G6x2y1[15]), 15,16},
+ {&(_tg__ZTV4E6x2__6G6x2y1[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x2y1[];
+extern VTBL_ENTRY _ZTV6G6x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y1[];
+Class_Descriptor cd_G6x2y1 = { "G6x2y1", // class name
+ bases_G6x2y1, 6,
+ &(vtc_G6x2y1[0]), // expected_vtbl_contents
+ &(vtt_G6x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y1),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 G6x2y2 : E6x2 , virtual F1 {
+ int ff;
+ ~G6x2y2(); // tgen
+ G6x2y2(); // tgen
+};
+//SIG(1 G6x2y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x2y2 ::~G6x2y2(){ note_dtor("G6x2y2", this);} // tgen
+G6x2y2 ::G6x2y2(){ note_ctor("G6x2y2", this);} // tgen
+
+static void Test_G6x2y2()
+{
+ extern Class_Descriptor cd_G6x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x2y2, buf);
+ G6x2y2 *dp, &lv = *(dp=new (buf) G6x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y2)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(24,20), "G6x2y2");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), 0, "G6x2y2");
+ check_base_class_offset(lv, (C6*)(E6x2*), 0, "G6x2y2");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(32,24), "G6x2y2");
+ check_base_class_offset(lv, (E6x2*), 0, "G6x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G6x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x2y2.ff");
+ test_class_info(&lv, &cd_G6x2y2);
+ dp->~G6x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y2(Test_G6x2y2, "G6x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y2C1Ev();
+extern void _ZN6G6x2y2D1Ev();
+Name_Map name_map_G6x2y2[] = {
+ NSPAIR(_ZN6G6x2y2C1Ev),
+ NSPAIR(_ZN6G6x2y2D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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, 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_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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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(48,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x2y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y2[] = {
+ {&(_ZTV6G6x2y2[5]), 5,14},
+ {&(_tg__ZTV4E6x2__6G6x2y2[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y2[3]), 3,4},
+ {&(_ZTV6G6x2y2[9]), 9,14},
+ {&(_ZTV6G6x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G6x2y2[];
+extern VTBL_ENTRY _ZTV6G6x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y2[];
+Class_Descriptor cd_G6x2y2 = { "G6x2y2", // class name
+ bases_G6x2y2, 6,
+ &(vtc_G6x2y2[0]), // expected_vtbl_contents
+ &(vtt_G6x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y2),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 G6x2y3 : virtual E6x2 , virtual F1 {
+ int ff;
+ ~G6x2y3(); // tgen
+ G6x2y3(); // tgen
+};
+//SIG(1 G6x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x2y3 ::~G6x2y3(){ note_dtor("G6x2y3", this);} // tgen
+G6x2y3 ::G6x2y3(){ note_ctor("G6x2y3", this);} // tgen
+
+static void Test_G6x2y3()
+{
+ extern Class_Descriptor cd_G6x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x2y3, buf);
+ G6x2y3 *dp, &lv = *(dp=new (buf) G6x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y3)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(36,24), "G6x2y3");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), ABISELECT(16,8), "G6x2y3");
+ check_base_class_offset(lv, (C6*)(E6x2*), ABISELECT(16,8), "G6x2y3");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(40,28), "G6x2y3");
+ check_base_class_offset(lv, (E6x2*), ABISELECT(16,8), "G6x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x2y3.ff");
+ test_class_info(&lv, &cd_G6x2y3);
+ dp->~G6x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y3(Test_G6x2y3, "G6x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y3C1Ev();
+extern void _ZN6G6x2y3D1Ev();
+Name_Map name_map_G6x2y3[] = {
+ NSPAIR(_ZN6G6x2y3C1Ev),
+ NSPAIR(_ZN6G6x2y3D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x2y3[] = {
+ // 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(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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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_F1, ABISELECT(56,36), //bcp->offset
+ 16, //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 _ZTI6G6x2y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y3[] = {
+ {&(_ZTV6G6x2y3[6]), 6,20},
+ {&(_ZTV6G6x2y3[11]), 11,20},
+ {&(_ZTV6G6x2y3[15]), 15,20},
+ {&(_ZTV6G6x2y3[19]), 19,20},
+ {&(_tg__ZTV4E6x2__6G6x2y3[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x2y3[];
+extern VTBL_ENTRY _ZTV6G6x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y3[];
+Class_Descriptor cd_G6x2y3 = { "G6x2y3", // class name
+ bases_G6x2y3, 6,
+ &(vtc_G6x2y3[0]), // expected_vtbl_contents
+ &(vtt_G6x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y3),7, //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 G6x2y4 : E6x2 , F0 {
+ int ff;
+ ~G6x2y4(); // tgen
+ G6x2y4(); // tgen
+};
+//SIG(1 G6x2y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x2y4 ::~G6x2y4(){ note_dtor("G6x2y4", this);} // tgen
+G6x2y4 ::G6x2y4(){ note_ctor("G6x2y4", this);} // tgen
+
+static void Test_G6x2y4()
+{
+ extern Class_Descriptor cd_G6x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x2y4, buf);
+ G6x2y4 *dp, &lv = *(dp=new (buf) G6x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y4)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(28,24), "G6x2y4");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), 0, "G6x2y4");
+ check_base_class_offset(lv, (C6*)(E6x2*), 0, "G6x2y4");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(32,28), "G6x2y4");
+ check_base_class_offset(lv, (E6x2*), 0, "G6x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G6x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G6x2y4.ff");
+ test_class_info(&lv, &cd_G6x2y4);
+ dp->~G6x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y4(Test_G6x2y4, "G6x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y4C1Ev();
+extern void _ZN6G6x2y4D1Ev();
+Name_Map name_map_G6x2y4[] = {
+ NSPAIR(_ZN6G6x2y4C1Ev),
+ NSPAIR(_ZN6G6x2y4D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x2y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y4[] = {
+ {&(_ZTV6G6x2y4[4]), 4,9},
+ {&(_tg__ZTV4E6x2__6G6x2y4[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y4[3]), 3,4},
+ {&(_ZTV6G6x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G6x2y4[];
+extern VTBL_ENTRY _ZTV6G6x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y4[];
+Class_Descriptor cd_G6x2y4 = { "G6x2y4", // class name
+ bases_G6x2y4, 6,
+ &(vtc_G6x2y4[0]), // expected_vtbl_contents
+ &(vtt_G6x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y4),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 G6x2y5 : virtual E6x2 , F0 {
+ int ff;
+ ~G6x2y5(); // tgen
+ G6x2y5(); // tgen
+};
+//SIG(1 G6x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x2y5 ::~G6x2y5(){ note_dtor("G6x2y5", this);} // tgen
+G6x2y5 ::G6x2y5(){ note_ctor("G6x2y5", this);} // tgen
+
+static void Test_G6x2y5()
+{
+ extern Class_Descriptor cd_G6x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x2y5, buf);
+ G6x2y5 *dp, &lv = *(dp=new (buf) G6x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y5)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(36,28), "G6x2y5");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), ABISELECT(16,12), "G6x2y5");
+ check_base_class_offset(lv, (C6*)(E6x2*), ABISELECT(16,12), "G6x2y5");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(40,32), "G6x2y5");
+ check_base_class_offset(lv, (E6x2*), ABISELECT(16,12), "G6x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x2y5.ff");
+ test_class_info(&lv, &cd_G6x2y5);
+ dp->~G6x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y5(Test_G6x2y5, "G6x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y5C1Ev();
+extern void _ZN6G6x2y5D1Ev();
+Name_Map name_map_G6x2y5[] = {
+ NSPAIR(_ZN6G6x2y5C1Ev),
+ NSPAIR(_ZN6G6x2y5D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x2y5[] = {
+ // 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, 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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
+ 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 _ZTI6G6x2y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y5[] = {
+ {&(_ZTV6G6x2y5[5]), 5,15},
+ {&(_ZTV6G6x2y5[10]), 10,15},
+ {&(_ZTV6G6x2y5[14]), 14,15},
+ {&(_tg__ZTV4E6x2__6G6x2y5[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x2y5[];
+extern VTBL_ENTRY _ZTV6G6x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y5[];
+Class_Descriptor cd_G6x2y5 = { "G6x2y5", // class name
+ bases_G6x2y5, 6,
+ &(vtc_G6x2y5[0]), // expected_vtbl_contents
+ &(vtt_G6x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y5),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 G6x2y6 : E6x2 , virtual F0 {
+ int ff;
+ ~G6x2y6(); // tgen
+ G6x2y6(); // tgen
+};
+//SIG(1 G6x2y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x2y6 ::~G6x2y6(){ note_dtor("G6x2y6", this);} // tgen
+G6x2y6 ::G6x2y6(){ note_ctor("G6x2y6", this);} // tgen
+
+static void Test_G6x2y6()
+{
+ extern Class_Descriptor cd_G6x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x2y6, buf);
+ G6x2y6 *dp, &lv = *(dp=new (buf) G6x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y6)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(24,20), "G6x2y6");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), 0, "G6x2y6");
+ check_base_class_offset(lv, (C6*)(E6x2*), 0, "G6x2y6");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(32,24), "G6x2y6");
+ check_base_class_offset(lv, (E6x2*), 0, "G6x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G6x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x2y6.ff");
+ test_class_info(&lv, &cd_G6x2y6);
+ dp->~G6x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y6(Test_G6x2y6, "G6x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y6C1Ev();
+extern void _ZN6G6x2y6D1Ev();
+Name_Map name_map_G6x2y6[] = {
+ NSPAIR(_ZN6G6x2y6C1Ev),
+ NSPAIR(_ZN6G6x2y6D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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(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 _ZTI6G6x2y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y6[] = {
+ {&(_ZTV6G6x2y6[5]), 5,10},
+ {&(_tg__ZTV4E6x2__6G6x2y6[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y6[3]), 3,4},
+ {&(_ZTV6G6x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G6x2y6[];
+extern VTBL_ENTRY _ZTV6G6x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y6[];
+Class_Descriptor cd_G6x2y6 = { "G6x2y6", // class name
+ bases_G6x2y6, 6,
+ &(vtc_G6x2y6[0]), // expected_vtbl_contents
+ &(vtt_G6x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y6),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 G6x2y7 : virtual E6x2 , virtual F0 {
+ int ff;
+ ~G6x2y7(); // tgen
+ G6x2y7(); // tgen
+};
+//SIG(1 G6x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x2y7 ::~G6x2y7(){ note_dtor("G6x2y7", this);} // tgen
+G6x2y7 ::G6x2y7(){ note_ctor("G6x2y7", this);} // tgen
+
+static void Test_G6x2y7()
+{
+ extern Class_Descriptor cd_G6x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x2y7, buf);
+ G6x2y7 *dp, &lv = *(dp=new (buf) G6x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x2y7)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x2*), ABISELECT(36,24), "G6x2y7");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x2*), ABISELECT(16,8), "G6x2y7");
+ check_base_class_offset(lv, (C6*)(E6x2*), ABISELECT(16,8), "G6x2y7");
+ check_base_class_offset(lv, (D1*)(E6x2*), ABISELECT(40,28), "G6x2y7");
+ check_base_class_offset(lv, (E6x2*), ABISELECT(16,8), "G6x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x2y7.ff");
+ test_class_info(&lv, &cd_G6x2y7);
+ dp->~G6x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x2y7(Test_G6x2y7, "G6x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x2y7C1Ev();
+extern void _ZN6G6x2y7D1Ev();
+Name_Map name_map_G6x2y7[] = {
+ NSPAIR(_ZN6G6x2y7C1Ev),
+ NSPAIR(_ZN6G6x2y7D1Ev),
+ {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_E6x2;
+extern VTBL_ENTRY _ZTI4E6x2[];
+extern VTBL_ENTRY _ZTV4E6x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x2y7[] = {
+ // 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(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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x2, 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
+ 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 _ZTI6G6x2y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x2y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x2__6G6x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x2__6G6x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x2__6G6x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G6x2y7[] = {
+ {&(_ZTV6G6x2y7[6]), 6,16},
+ {&(_ZTV6G6x2y7[11]), 11,16},
+ {&(_ZTV6G6x2y7[15]), 15,16},
+ {&(_tg__ZTV4E6x2__6G6x2y7[4]), 4,5},
+ {&(_tg__ZTV2C64E6x2__6G6x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E6x2__6G6x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x2y7[];
+extern VTBL_ENTRY _ZTV6G6x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x2y7[];
+Class_Descriptor cd_G6x2y7 = { "G6x2y7", // class name
+ bases_G6x2y7, 6,
+ &(vtc_G6x2y7[0]), // expected_vtbl_contents
+ &(vtt_G6x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x2y7),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 E7x2 : C7 , virtual D1 {
+ int fd;
+ ~E7x2(); // tgen
+ E7x2(); // tgen
+};
+//SIG(-1 E7x2) C1{ BC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E7x2 ::~E7x2(){ note_dtor("E7x2", this);} // tgen
+E7x2 ::E7x2(){ note_ctor("E7x2", this);} // tgen
+
+static void Test_E7x2()
+{
+ extern Class_Descriptor cd_E7x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E7x2, buf);
+ E7x2 *dp, &lv = *(dp=new (buf) E7x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E7x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x2)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(24,16), "E7x2");
+ check_base_class_offset(lv, (B1*)(C7*), 0, "E7x2");
+ check_base_class_offset(lv, (C7*), 0, "E7x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E7x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E7x2.fd");
+ test_class_info(&lv, &cd_E7x2);
+ dp->~E7x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x2(Test_E7x2, "E7x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x2C1Ev();
+extern void _ZN4E7x2D1Ev();
+Name_Map name_map_E7x2[] = {
+ NSPAIR(_ZN4E7x2C1Ev),
+ NSPAIR(_ZN4E7x2D1Ev),
+ {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_E7x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E7x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x2[] = {
+ {&(_ZTV4E7x2[4]), 4,13},
+ {&(_tg__ZTV2C7__4E7x2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x2[3]), 3,4},
+ {&(_ZTV4E7x2[8]), 8,13},
+ {&(_ZTV4E7x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+Class_Descriptor cd_E7x2 = { "E7x2", // class name
+ bases_E7x2, 4,
+ &(vtc_E7x2[0]), // expected_vtbl_contents
+ &(vtt_E7x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E7x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x2),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 G7x2y0 : E7x2 , F1 {
+ int ff;
+ ~G7x2y0(); // tgen
+ G7x2y0(); // tgen
+};
+//SIG(1 G7x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x2y0 ::~G7x2y0(){ note_dtor("G7x2y0", this);} // tgen
+G7x2y0 ::G7x2y0(){ note_ctor("G7x2y0", this);} // tgen
+
+static void Test_G7x2y0()
+{
+ extern Class_Descriptor cd_G7x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x2y0, buf);
+ G7x2y0 *dp, &lv = *(dp=new (buf) G7x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y0)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(40,28), "G7x2y0");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), 0, "G7x2y0");
+ check_base_class_offset(lv, (C7*)(E7x2*), 0, "G7x2y0");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(56,36), "G7x2y0");
+ check_base_class_offset(lv, (E7x2*), 0, "G7x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G7x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G7x2y0.ff");
+ test_class_info(&lv, &cd_G7x2y0);
+ dp->~G7x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y0(Test_G7x2y0, "G7x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y0C1Ev();
+extern void _ZN6G7x2y0D1Ev();
+Name_Map name_map_G7x2y0[] = {
+ NSPAIR(_ZN6G7x2y0C1Ev),
+ NSPAIR(_ZN6G7x2y0D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x2y0[] = {
+ // 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)
+ 7, //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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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(24,16), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x2y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y0[] = {
+ {&(_ZTV6G7x2y0[4]), 4,16},
+ {&(_tg__ZTV4E7x2__6G7x2y0[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y0[3]), 3,4},
+ {&(_ZTV6G7x2y0[11]), 11,16},
+ {&(_ZTV6G7x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G7x2y0[];
+extern VTBL_ENTRY _ZTV6G7x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y0[];
+Class_Descriptor cd_G7x2y0 = { "G7x2y0", // class name
+ bases_G7x2y0, 6,
+ &(vtc_G7x2y0[0]), // expected_vtbl_contents
+ &(vtt_G7x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y0),8, //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 G7x2y1 : virtual E7x2 , F1 {
+ int ff;
+ ~G7x2y1(); // tgen
+ G7x2y1(); // tgen
+};
+//SIG(1 G7x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x2y1 ::~G7x2y1(){ note_dtor("G7x2y1", this);} // tgen
+G7x2y1 ::G7x2y1(){ note_ctor("G7x2y1", this);} // tgen
+
+static void Test_G7x2y1()
+{
+ extern Class_Descriptor cd_G7x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x2y1, buf);
+ G7x2y1 *dp, &lv = *(dp=new (buf) G7x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y1)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(40,28), "G7x2y1");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), ABISELECT(16,12), "G7x2y1");
+ check_base_class_offset(lv, (C7*)(E7x2*), ABISELECT(16,12), "G7x2y1");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(56,36), "G7x2y1");
+ check_base_class_offset(lv, (E7x2*), ABISELECT(16,12), "G7x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x2y1.ff");
+ test_class_info(&lv, &cd_G7x2y1);
+ dp->~G7x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y1(Test_G7x2y1, "G7x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y1C1Ev();
+extern void _ZN6G7x2y1D1Ev();
+Name_Map name_map_G7x2y1[] = {
+ NSPAIR(_ZN6G7x2y1C1Ev),
+ NSPAIR(_ZN6G7x2y1D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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
+ 3, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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
+ 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 _ZTI6G7x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y1[] = {
+ {&(_ZTV6G7x2y1[5]), 5,20},
+ {&(_ZTV6G7x2y1[11]), 11,20},
+ {&(_ZTV6G7x2y1[15]), 15,20},
+ {&(_ZTV6G7x2y1[19]), 19,20},
+ {&(_tg__ZTV4E7x2__6G7x2y1[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x2y1[];
+extern VTBL_ENTRY _ZTV6G7x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y1[];
+Class_Descriptor cd_G7x2y1 = { "G7x2y1", // class name
+ bases_G7x2y1, 6,
+ &(vtc_G7x2y1[0]), // expected_vtbl_contents
+ &(vtt_G7x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y1),9, //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 G7x2y2 : E7x2 , virtual F1 {
+ int ff;
+ ~G7x2y2(); // tgen
+ G7x2y2(); // tgen
+};
+//SIG(1 G7x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x2y2 ::~G7x2y2(){ note_dtor("G7x2y2", this);} // tgen
+G7x2y2 ::G7x2y2(){ note_ctor("G7x2y2", this);} // tgen
+
+static void Test_G7x2y2()
+{
+ extern Class_Descriptor cd_G7x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x2y2, buf);
+ G7x2y2 *dp, &lv = *(dp=new (buf) G7x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y2)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(24,20), "G7x2y2");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), 0, "G7x2y2");
+ check_base_class_offset(lv, (C7*)(E7x2*), 0, "G7x2y2");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(40,28), "G7x2y2");
+ check_base_class_offset(lv, (E7x2*), 0, "G7x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x2y2.ff");
+ test_class_info(&lv, &cd_G7x2y2);
+ dp->~G7x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y2(Test_G7x2y2, "G7x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y2C1Ev();
+extern void _ZN6G7x2y2D1Ev();
+Name_Map name_map_G7x2y2[] = {
+ NSPAIR(_ZN6G7x2y2C1Ev),
+ NSPAIR(_ZN6G7x2y2D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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
+ 4, //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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x2y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y2[] = {
+ {&(_ZTV6G7x2y2[5]), 5,18},
+ {&(_tg__ZTV4E7x2__6G7x2y2[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y2[3]), 3,4},
+ {&(_ZTV6G7x2y2[9]), 9,18},
+ {&(_ZTV6G7x2y2[13]), 13,18},
+ {&(_ZTV6G7x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI6G7x2y2[];
+extern VTBL_ENTRY _ZTV6G7x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y2[];
+Class_Descriptor cd_G7x2y2 = { "G7x2y2", // class name
+ bases_G7x2y2, 6,
+ &(vtc_G7x2y2[0]), // expected_vtbl_contents
+ &(vtt_G7x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y2),9, //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 G7x2y3 : virtual E7x2 , virtual F1 {
+ int ff;
+ ~G7x2y3(); // tgen
+ G7x2y3(); // tgen
+};
+//SIG(1 G7x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x2y3 ::~G7x2y3(){ note_dtor("G7x2y3", this);} // tgen
+G7x2y3 ::G7x2y3(){ note_ctor("G7x2y3", this);} // tgen
+
+static void Test_G7x2y3()
+{
+ extern Class_Descriptor cd_G7x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G7x2y3, buf);
+ G7x2y3 *dp, &lv = *(dp=new (buf) G7x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G7x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y3)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(40,24), "G7x2y3");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), ABISELECT(16,8), "G7x2y3");
+ check_base_class_offset(lv, (C7*)(E7x2*), ABISELECT(16,8), "G7x2y3");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(56,32), "G7x2y3");
+ check_base_class_offset(lv, (E7x2*), ABISELECT(16,8), "G7x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G7x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x2y3.ff");
+ test_class_info(&lv, &cd_G7x2y3);
+ dp->~G7x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y3(Test_G7x2y3, "G7x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y3C1Ev();
+extern void _ZN6G7x2y3D1Ev();
+Name_Map name_map_G7x2y3[] = {
+ NSPAIR(_ZN6G7x2y3C1Ev),
+ NSPAIR(_ZN6G7x2y3D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 20, //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 _ZTI6G7x2y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y3[] = {
+ {&(_ZTV6G7x2y3[6]), 6,24},
+ {&(_ZTV6G7x2y3[11]), 11,24},
+ {&(_ZTV6G7x2y3[15]), 15,24},
+ {&(_ZTV6G7x2y3[19]), 19,24},
+ {&(_ZTV6G7x2y3[23]), 23,24},
+ {&(_tg__ZTV4E7x2__6G7x2y3[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x2y3[];
+extern VTBL_ENTRY _ZTV6G7x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y3[];
+Class_Descriptor cd_G7x2y3 = { "G7x2y3", // class name
+ bases_G7x2y3, 6,
+ &(vtc_G7x2y3[0]), // expected_vtbl_contents
+ &(vtt_G7x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G7x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y3),10, //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 G7x2y4 : E7x2 , F0 {
+ int ff;
+ ~G7x2y4(); // tgen
+ G7x2y4(); // tgen
+};
+//SIG(1 G7x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x2y4 ::~G7x2y4(){ note_dtor("G7x2y4", this);} // tgen
+G7x2y4 ::G7x2y4(){ note_ctor("G7x2y4", this);} // tgen
+
+static void Test_G7x2y4()
+{
+ extern Class_Descriptor cd_G7x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G7x2y4, buf);
+ G7x2y4 *dp, &lv = *(dp=new (buf) G7x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G7x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y4)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(32,24), "G7x2y4");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), 0, "G7x2y4");
+ check_base_class_offset(lv, (C7*)(E7x2*), 0, "G7x2y4");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(48,32), "G7x2y4");
+ check_base_class_offset(lv, (E7x2*), 0, "G7x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G7x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G7x2y4.ff");
+ test_class_info(&lv, &cd_G7x2y4);
+ dp->~G7x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y4(Test_G7x2y4, "G7x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y4C1Ev();
+extern void _ZN6G7x2y4D1Ev();
+Name_Map name_map_G7x2y4[] = {
+ NSPAIR(_ZN6G7x2y4C1Ev),
+ NSPAIR(_ZN6G7x2y4D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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_F0, ABISELECT(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x2y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y4[] = {
+ {&(_ZTV6G7x2y4[4]), 4,13},
+ {&(_tg__ZTV4E7x2__6G7x2y4[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y4[3]), 3,4},
+ {&(_ZTV6G7x2y4[8]), 8,13},
+ {&(_ZTV6G7x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G7x2y4[];
+extern VTBL_ENTRY _ZTV6G7x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y4[];
+Class_Descriptor cd_G7x2y4 = { "G7x2y4", // class name
+ bases_G7x2y4, 6,
+ &(vtc_G7x2y4[0]), // expected_vtbl_contents
+ &(vtt_G7x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G7x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y4),8, //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 G7x2y5 : virtual E7x2 , F0 {
+ int ff;
+ ~G7x2y5(); // tgen
+ G7x2y5(); // tgen
+};
+//SIG(1 G7x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x2y5 ::~G7x2y5(){ note_dtor("G7x2y5", this);} // tgen
+G7x2y5 ::G7x2y5(){ note_ctor("G7x2y5", this);} // tgen
+
+static void Test_G7x2y5()
+{
+ extern Class_Descriptor cd_G7x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x2y5, buf);
+ G7x2y5 *dp, &lv = *(dp=new (buf) G7x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y5)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(40,28), "G7x2y5");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), ABISELECT(16,12), "G7x2y5");
+ check_base_class_offset(lv, (C7*)(E7x2*), ABISELECT(16,12), "G7x2y5");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(56,36), "G7x2y5");
+ check_base_class_offset(lv, (E7x2*), ABISELECT(16,12), "G7x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x2y5.ff");
+ test_class_info(&lv, &cd_G7x2y5);
+ dp->~G7x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y5(Test_G7x2y5, "G7x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y5C1Ev();
+extern void _ZN6G7x2y5D1Ev();
+Name_Map name_map_G7x2y5[] = {
+ NSPAIR(_ZN6G7x2y5C1Ev),
+ NSPAIR(_ZN6G7x2y5D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 11, //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
+ 3, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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
+ 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 _ZTI6G7x2y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y5[] = {
+ {&(_ZTV6G7x2y5[5]), 5,19},
+ {&(_ZTV6G7x2y5[10]), 10,19},
+ {&(_ZTV6G7x2y5[14]), 14,19},
+ {&(_ZTV6G7x2y5[18]), 18,19},
+ {&(_tg__ZTV4E7x2__6G7x2y5[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x2y5[];
+extern VTBL_ENTRY _ZTV6G7x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y5[];
+Class_Descriptor cd_G7x2y5 = { "G7x2y5", // class name
+ bases_G7x2y5, 6,
+ &(vtc_G7x2y5[0]), // expected_vtbl_contents
+ &(vtt_G7x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y5),9, //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 G7x2y6 : E7x2 , virtual F0 {
+ int ff;
+ ~G7x2y6(); // tgen
+ G7x2y6(); // tgen
+};
+//SIG(1 G7x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x2y6 ::~G7x2y6(){ note_dtor("G7x2y6", this);} // tgen
+G7x2y6 ::G7x2y6(){ note_ctor("G7x2y6", this);} // tgen
+
+static void Test_G7x2y6()
+{
+ extern Class_Descriptor cd_G7x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x2y6, buf);
+ G7x2y6 *dp, &lv = *(dp=new (buf) G7x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y6)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(24,20), "G7x2y6");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), 0, "G7x2y6");
+ check_base_class_offset(lv, (C7*)(E7x2*), 0, "G7x2y6");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(40,28), "G7x2y6");
+ check_base_class_offset(lv, (E7x2*), 0, "G7x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x2y6.ff");
+ test_class_info(&lv, &cd_G7x2y6);
+ dp->~G7x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y6(Test_G7x2y6, "G7x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y6C1Ev();
+extern void _ZN6G7x2y6D1Ev();
+Name_Map name_map_G7x2y6[] = {
+ NSPAIR(_ZN6G7x2y6C1Ev),
+ NSPAIR(_ZN6G7x2y6D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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_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 _ZTI6G7x2y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y6[] = {
+ {&(_ZTV6G7x2y6[5]), 5,14},
+ {&(_tg__ZTV4E7x2__6G7x2y6[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y6[3]), 3,4},
+ {&(_ZTV6G7x2y6[9]), 9,14},
+ {&(_ZTV6G7x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G7x2y6[];
+extern VTBL_ENTRY _ZTV6G7x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y6[];
+Class_Descriptor cd_G7x2y6 = { "G7x2y6", // class name
+ bases_G7x2y6, 6,
+ &(vtc_G7x2y6[0]), // expected_vtbl_contents
+ &(vtt_G7x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y6),8, //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 G7x2y7 : virtual E7x2 , virtual F0 {
+ int ff;
+ ~G7x2y7(); // tgen
+ G7x2y7(); // tgen
+};
+//SIG(1 G7x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x2y7 ::~G7x2y7(){ note_dtor("G7x2y7", this);} // tgen
+G7x2y7 ::G7x2y7(){ note_ctor("G7x2y7", this);} // tgen
+
+static void Test_G7x2y7()
+{
+ extern Class_Descriptor cd_G7x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x2y7, buf);
+ G7x2y7 *dp, &lv = *(dp=new (buf) G7x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x2y7)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x2*), ABISELECT(40,24), "G7x2y7");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x2*), ABISELECT(16,8), "G7x2y7");
+ check_base_class_offset(lv, (C7*)(E7x2*), ABISELECT(16,8), "G7x2y7");
+ check_base_class_offset(lv, (D1*)(E7x2*), ABISELECT(56,32), "G7x2y7");
+ check_base_class_offset(lv, (E7x2*), ABISELECT(16,8), "G7x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G7x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x2y7.ff");
+ test_class_info(&lv, &cd_G7x2y7);
+ dp->~G7x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x2y7(Test_G7x2y7, "G7x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x2y7C1Ev();
+extern void _ZN6G7x2y7D1Ev();
+Name_Map name_map_G7x2y7[] = {
+ NSPAIR(_ZN6G7x2y7C1Ev),
+ NSPAIR(_ZN6G7x2y7D1Ev),
+ {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_E7x2;
+extern VTBL_ENTRY _ZTI4E7x2[];
+extern VTBL_ENTRY _ZTV4E7x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x2, 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
+ 5, //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 _ZTI6G7x2y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x2y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x2__6G7x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x2__6G7x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x2__6G7x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x2__6G7x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x2__6G7x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G7x2y7[] = {
+ {&(_ZTV6G7x2y7[6]), 6,20},
+ {&(_ZTV6G7x2y7[11]), 11,20},
+ {&(_ZTV6G7x2y7[15]), 15,20},
+ {&(_ZTV6G7x2y7[19]), 19,20},
+ {&(_tg__ZTV4E7x2__6G7x2y7[4]), 4,5},
+ {&(_tg__ZTV2C74E7x2__6G7x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x2__6G7x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x2__6G7x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x2__6G7x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x2y7[];
+extern VTBL_ENTRY _ZTV6G7x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x2y7[];
+Class_Descriptor cd_G7x2y7 = { "G7x2y7", // class name
+ bases_G7x2y7, 6,
+ &(vtc_G7x2y7[0]), // expected_vtbl_contents
+ &(vtt_G7x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x2y7),9, //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 E8x2 : C8 , virtual D1 {
+ int fd;
+ ~E8x2(); // tgen
+ E8x2(); // tgen
+};
+//SIG(-1 E8x2) C1{ BC2{ BC3{ Fi} VBC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E8x2 ::~E8x2(){ note_dtor("E8x2", this);} // tgen
+E8x2 ::E8x2(){ note_ctor("E8x2", this);} // tgen
+
+static void Test_E8x2()
+{
+ extern Class_Descriptor cd_E8x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x2, buf);
+ E8x2 *dp, &lv = *(dp=new (buf) E8x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x2)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(8,4), "E8x2");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(20,16), "E8x2");
+ check_base_class_offset(lv, (C8*), 0, "E8x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E8x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E8x2.fd");
+ test_class_info(&lv, &cd_E8x2);
+ dp->~E8x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x2(Test_E8x2, "E8x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x2C1Ev();
+extern void _ZN4E8x2D1Ev();
+Name_Map name_map_E8x2[] = {
+ NSPAIR(_ZN4E8x2C1Ev),
+ NSPAIR(_ZN4E8x2D1Ev),
+ {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_E8x2[] = {
+ // 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(20,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, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //bcp->offset
+ 4, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E8x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E8x2[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x2[] = {
+ {&(_ZTV4E8x2[4]), 4,8},
+ {&(_tg__ZTV2C8__4E8x2[3]), 3,3},
+ {&(_ZTV4E8x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+Class_Descriptor cd_E8x2 = { "E8x2", // class name
+ bases_E8x2, 4,
+ &(vtc_E8x2[0]), // expected_vtbl_contents
+ &(vtt_E8x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x2),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 G8x2y0 : E8x2 , F1 {
+ int ff;
+ ~G8x2y0(); // tgen
+ G8x2y0(); // tgen
+};
+//SIG(1 G8x2y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x2y0 ::~G8x2y0(){ note_dtor("G8x2y0", this);} // tgen
+G8x2y0 ::G8x2y0(){ note_ctor("G8x2y0", this);} // tgen
+
+static void Test_G8x2y0()
+{
+ extern Class_Descriptor cd_G8x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x2y0, buf);
+ G8x2y0 *dp, &lv = *(dp=new (buf) G8x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y0)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(8,4), "G8x2y0");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(40,28), "G8x2y0");
+ check_base_class_offset(lv, (C8*)(E8x2*), 0, "G8x2y0");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(48,32), "G8x2y0");
+ check_base_class_offset(lv, (E8x2*), 0, "G8x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G8x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G8x2y0.ff");
+ test_class_info(&lv, &cd_G8x2y0);
+ dp->~G8x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y0(Test_G8x2y0, "G8x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y0C1Ev();
+extern void _ZN6G8x2y0D1Ev();
+Name_Map name_map_G8x2y0[] = {
+ NSPAIR(_ZN6G8x2y0C1Ev),
+ NSPAIR(_ZN6G8x2y0D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x2y0[] = {
+ // 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,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(48,32), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y0[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y0[] = {
+ {&(_ZTV6G8x2y0[4]), 4,11},
+ {&(_tg__ZTV4E8x2__6G8x2y0[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y0[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y0[3]), 3,4},
+ {&(_ZTV6G8x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G8x2y0[];
+extern VTBL_ENTRY _ZTV6G8x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y0[];
+Class_Descriptor cd_G8x2y0 = { "G8x2y0", // class name
+ bases_G8x2y0, 6,
+ &(vtc_G8x2y0[0]), // expected_vtbl_contents
+ &(vtt_G8x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y0),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 G8x2y1 : virtual E8x2 , F1 {
+ int ff;
+ ~G8x2y1(); // tgen
+ G8x2y1(); // tgen
+};
+//SIG(1 G8x2y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x2y1 ::~G8x2y1(){ note_dtor("G8x2y1", this);} // tgen
+G8x2y1 ::G8x2y1(){ note_ctor("G8x2y1", this);} // tgen
+
+static void Test_G8x2y1()
+{
+ extern Class_Descriptor cd_G8x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x2y1, buf);
+ G8x2y1 *dp, &lv = *(dp=new (buf) G8x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y1)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(24,16), "G8x2y1");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(36,28), "G8x2y1");
+ check_base_class_offset(lv, (C8*)(E8x2*), ABISELECT(16,12), "G8x2y1");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(40,32), "G8x2y1");
+ check_base_class_offset(lv, (E8x2*), ABISELECT(16,12), "G8x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x2y1.ff");
+ test_class_info(&lv, &cd_G8x2y1);
+ dp->~G8x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y1(Test_G8x2y1, "G8x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y1C1Ev();
+extern void _ZN6G8x2y1D1Ev();
+Name_Map name_map_G8x2y1[] = {
+ NSPAIR(_ZN6G8x2y1C1Ev),
+ NSPAIR(_ZN6G8x2y1D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x2y1[] = {
+ // 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(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, 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(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI6G8x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x2y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y1[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y1[] = {
+ {&(_ZTV6G8x2y1[5]), 5,14},
+ {&(_ZTV6G8x2y1[10]), 10,14},
+ {&(_ZTV6G8x2y1[13]), 13,14},
+ {&(_tg__ZTV4E8x2__6G8x2y1[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y1[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G8x2y1[];
+extern VTBL_ENTRY _ZTV6G8x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y1[];
+Class_Descriptor cd_G8x2y1 = { "G8x2y1", // class name
+ bases_G8x2y1, 6,
+ &(vtc_G8x2y1[0]), // expected_vtbl_contents
+ &(vtt_G8x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y1),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 G8x2y2 : E8x2 , virtual F1 {
+ int ff;
+ ~G8x2y2(); // tgen
+ G8x2y2(); // tgen
+};
+//SIG(1 G8x2y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x2y2 ::~G8x2y2(){ note_dtor("G8x2y2", this);} // tgen
+G8x2y2 ::G8x2y2(){ note_ctor("G8x2y2", this);} // tgen
+
+static void Test_G8x2y2()
+{
+ extern Class_Descriptor cd_G8x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x2y2, buf);
+ G8x2y2 *dp, &lv = *(dp=new (buf) G8x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y2)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(8,4), "G8x2y2");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(24,20), "G8x2y2");
+ check_base_class_offset(lv, (C8*)(E8x2*), 0, "G8x2y2");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(32,24), "G8x2y2");
+ check_base_class_offset(lv, (E8x2*), 0, "G8x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G8x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x2y2.ff");
+ test_class_info(&lv, &cd_G8x2y2);
+ dp->~G8x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y2(Test_G8x2y2, "G8x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y2C1Ev();
+extern void _ZN6G8x2y2D1Ev();
+Name_Map name_map_G8x2y2[] = {
+ NSPAIR(_ZN6G8x2y2C1Ev),
+ NSPAIR(_ZN6G8x2y2D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x2y2[] = {
+ // 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(24,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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, 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)
+ 6, //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 _ZTI6G8x2y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y2[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y2[] = {
+ {&(_ZTV6G8x2y2[5]), 5,13},
+ {&(_tg__ZTV4E8x2__6G8x2y2[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y2[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y2[3]), 3,4},
+ {&(_ZTV6G8x2y2[8]), 8,13},
+ {&(_ZTV6G8x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G8x2y2[];
+extern VTBL_ENTRY _ZTV6G8x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y2[];
+Class_Descriptor cd_G8x2y2 = { "G8x2y2", // class name
+ bases_G8x2y2, 6,
+ &(vtc_G8x2y2[0]), // expected_vtbl_contents
+ &(vtt_G8x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y2),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 G8x2y3 : virtual E8x2 , virtual F1 {
+ int ff;
+ ~G8x2y3(); // tgen
+ G8x2y3(); // tgen
+};
+//SIG(1 G8x2y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x2y3 ::~G8x2y3(){ note_dtor("G8x2y3", this);} // tgen
+G8x2y3 ::G8x2y3(){ note_ctor("G8x2y3", this);} // tgen
+
+static void Test_G8x2y3()
+{
+ extern Class_Descriptor cd_G8x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x2y3, buf);
+ G8x2y3 *dp, &lv = *(dp=new (buf) G8x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y3)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(24,12), "G8x2y3");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(36,24), "G8x2y3");
+ check_base_class_offset(lv, (C8*)(E8x2*), ABISELECT(16,8), "G8x2y3");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(40,28), "G8x2y3");
+ check_base_class_offset(lv, (E8x2*), ABISELECT(16,8), "G8x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x2y3.ff");
+ test_class_info(&lv, &cd_G8x2y3);
+ dp->~G8x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y3(Test_G8x2y3, "G8x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y3C1Ev();
+extern void _ZN6G8x2y3D1Ev();
+Name_Map name_map_G8x2y3[] = {
+ NSPAIR(_ZN6G8x2y3C1Ev),
+ NSPAIR(_ZN6G8x2y3D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x2y3[] = {
+ // 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(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_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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 14, //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 _ZTI6G8x2y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x2y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y3[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y3[] = {
+ {&(_ZTV6G8x2y3[6]), 6,18},
+ {&(_ZTV6G8x2y3[10]), 10,18},
+ {&(_ZTV6G8x2y3[13]), 13,18},
+ {&(_ZTV6G8x2y3[17]), 17,18},
+ {&(_tg__ZTV4E8x2__6G8x2y3[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y3[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G8x2y3[];
+extern VTBL_ENTRY _ZTV6G8x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y3[];
+Class_Descriptor cd_G8x2y3 = { "G8x2y3", // class name
+ bases_G8x2y3, 6,
+ &(vtc_G8x2y3[0]), // expected_vtbl_contents
+ &(vtt_G8x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y3),7, //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 G8x2y4 : E8x2 , F0 {
+ int ff;
+ ~G8x2y4(); // tgen
+ G8x2y4(); // tgen
+};
+//SIG(1 G8x2y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x2y4 ::~G8x2y4(){ note_dtor("G8x2y4", this);} // tgen
+G8x2y4 ::G8x2y4(){ note_ctor("G8x2y4", this);} // tgen
+
+static void Test_G8x2y4()
+{
+ extern Class_Descriptor cd_G8x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x2y4, buf);
+ G8x2y4 *dp, &lv = *(dp=new (buf) G8x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y4)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(8,4), "G8x2y4");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(28,24), "G8x2y4");
+ check_base_class_offset(lv, (C8*)(E8x2*), 0, "G8x2y4");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(32,28), "G8x2y4");
+ check_base_class_offset(lv, (E8x2*), 0, "G8x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G8x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G8x2y4.ff");
+ test_class_info(&lv, &cd_G8x2y4);
+ dp->~G8x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y4(Test_G8x2y4, "G8x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y4C1Ev();
+extern void _ZN6G8x2y4D1Ev();
+Name_Map name_map_G8x2y4[] = {
+ NSPAIR(_ZN6G8x2y4C1Ev),
+ NSPAIR(_ZN6G8x2y4D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x2y4[] = {
+ // 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(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
+ 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(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x2y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y4[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y4[] = {
+ {&(_ZTV6G8x2y4[4]), 4,8},
+ {&(_tg__ZTV4E8x2__6G8x2y4[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y4[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y4[3]), 3,4},
+ {&(_ZTV6G8x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G8x2y4[];
+extern VTBL_ENTRY _ZTV6G8x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y4[];
+Class_Descriptor cd_G8x2y4 = { "G8x2y4", // class name
+ bases_G8x2y4, 6,
+ &(vtc_G8x2y4[0]), // expected_vtbl_contents
+ &(vtt_G8x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y4),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 G8x2y5 : virtual E8x2 , F0 {
+ int ff;
+ ~G8x2y5(); // tgen
+ G8x2y5(); // tgen
+};
+//SIG(1 G8x2y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x2y5 ::~G8x2y5(){ note_dtor("G8x2y5", this);} // tgen
+G8x2y5 ::G8x2y5(){ note_ctor("G8x2y5", this);} // tgen
+
+static void Test_G8x2y5()
+{
+ extern Class_Descriptor cd_G8x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x2y5, buf);
+ G8x2y5 *dp, &lv = *(dp=new (buf) G8x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y5)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(24,16), "G8x2y5");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(36,28), "G8x2y5");
+ check_base_class_offset(lv, (C8*)(E8x2*), ABISELECT(16,12), "G8x2y5");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(40,32), "G8x2y5");
+ check_base_class_offset(lv, (E8x2*), ABISELECT(16,12), "G8x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x2y5.ff");
+ test_class_info(&lv, &cd_G8x2y5);
+ dp->~G8x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y5(Test_G8x2y5, "G8x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y5C1Ev();
+extern void _ZN6G8x2y5D1Ev();
+Name_Map name_map_G8x2y5[] = {
+ NSPAIR(_ZN6G8x2y5C1Ev),
+ NSPAIR(_ZN6G8x2y5D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x2y5[] = {
+ // 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(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, 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(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, 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_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 _ZTI6G8x2y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x2y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y5[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y5[] = {
+ {&(_ZTV6G8x2y5[5]), 5,13},
+ {&(_ZTV6G8x2y5[9]), 9,13},
+ {&(_ZTV6G8x2y5[12]), 12,13},
+ {&(_tg__ZTV4E8x2__6G8x2y5[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y5[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G8x2y5[];
+extern VTBL_ENTRY _ZTV6G8x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y5[];
+Class_Descriptor cd_G8x2y5 = { "G8x2y5", // class name
+ bases_G8x2y5, 6,
+ &(vtc_G8x2y5[0]), // expected_vtbl_contents
+ &(vtt_G8x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y5),6, //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 G8x2y6 : E8x2 , virtual F0 {
+ int ff;
+ ~G8x2y6(); // tgen
+ G8x2y6(); // tgen
+};
+//SIG(1 G8x2y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x2y6 ::~G8x2y6(){ note_dtor("G8x2y6", this);} // tgen
+G8x2y6 ::G8x2y6(){ note_ctor("G8x2y6", this);} // tgen
+
+static void Test_G8x2y6()
+{
+ extern Class_Descriptor cd_G8x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x2y6, buf);
+ G8x2y6 *dp, &lv = *(dp=new (buf) G8x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y6)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(8,4), "G8x2y6");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(24,20), "G8x2y6");
+ check_base_class_offset(lv, (C8*)(E8x2*), 0, "G8x2y6");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(32,24), "G8x2y6");
+ check_base_class_offset(lv, (E8x2*), 0, "G8x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G8x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x2y6.ff");
+ test_class_info(&lv, &cd_G8x2y6);
+ dp->~G8x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y6(Test_G8x2y6, "G8x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y6C1Ev();
+extern void _ZN6G8x2y6D1Ev();
+Name_Map name_map_G8x2y6[] = {
+ NSPAIR(_ZN6G8x2y6C1Ev),
+ NSPAIR(_ZN6G8x2y6D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x2y6[] = {
+ // 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(24,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_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(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, 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 _ZTI6G8x2y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y6[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y6[] = {
+ {&(_ZTV6G8x2y6[5]), 5,9},
+ {&(_tg__ZTV4E8x2__6G8x2y6[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y6[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y6[3]), 3,4},
+ {&(_ZTV6G8x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G8x2y6[];
+extern VTBL_ENTRY _ZTV6G8x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y6[];
+Class_Descriptor cd_G8x2y6 = { "G8x2y6", // class name
+ bases_G8x2y6, 6,
+ &(vtc_G8x2y6[0]), // expected_vtbl_contents
+ &(vtt_G8x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y6),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 G8x2y7 : virtual E8x2 , virtual F0 {
+ int ff;
+ ~G8x2y7(); // tgen
+ G8x2y7(); // tgen
+};
+//SIG(1 G8x2y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x2y7 ::~G8x2y7(){ note_dtor("G8x2y7", this);} // tgen
+G8x2y7 ::G8x2y7(){ note_ctor("G8x2y7", this);} // tgen
+
+static void Test_G8x2y7()
+{
+ extern Class_Descriptor cd_G8x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x2y7, buf);
+ G8x2y7 *dp, &lv = *(dp=new (buf) G8x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x2y7)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x2*), ABISELECT(24,12), "G8x2y7");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x2*), ABISELECT(36,24), "G8x2y7");
+ check_base_class_offset(lv, (C8*)(E8x2*), ABISELECT(16,8), "G8x2y7");
+ check_base_class_offset(lv, (D1*)(E8x2*), ABISELECT(40,28), "G8x2y7");
+ check_base_class_offset(lv, (E8x2*), ABISELECT(16,8), "G8x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x2y7.ff");
+ test_class_info(&lv, &cd_G8x2y7);
+ dp->~G8x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x2y7(Test_G8x2y7, "G8x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x2y7C1Ev();
+extern void _ZN6G8x2y7D1Ev();
+Name_Map name_map_G8x2y7[] = {
+ NSPAIR(_ZN6G8x2y7C1Ev),
+ NSPAIR(_ZN6G8x2y7D1Ev),
+ {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_E8x2;
+extern VTBL_ENTRY _ZTI4E8x2[];
+extern VTBL_ENTRY _ZTV4E8x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x2y7[] = {
+ // 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(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_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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x2, ABISELECT(16,8), //bcp->offset
+ 6, //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 _ZTI6G8x2y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x2y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x2y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x2y7[];
+static VTBL_ENTRY _tg__ZTV4E8x2__6G8x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x2__6G8x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x2__6G8x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G8x2y7[] = {
+ {&(_ZTV6G8x2y7[6]), 6,14},
+ {&(_ZTV6G8x2y7[10]), 10,14},
+ {&(_ZTV6G8x2y7[13]), 13,14},
+ {&(_tg__ZTV4E8x2__6G8x2y7[4]), 4,4},
+ {&(_tg__ZTV2C84E8x2__6G8x2y7[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x2__6G8x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G8x2y7[];
+extern VTBL_ENTRY _ZTV6G8x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x2y7[];
+Class_Descriptor cd_G8x2y7 = { "G8x2y7", // class name
+ bases_G8x2y7, 6,
+ &(vtc_G8x2y7[0]), // expected_vtbl_contents
+ &(vtt_G8x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x2y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x2y7),6, //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 E9x2 : C9 , virtual D1 {
+ int fd;
+ ~E9x2(); // tgen
+ E9x2(); // tgen
+};
+//SIG(-1 E9x2) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E9x2 ::~E9x2(){ note_dtor("E9x2", this);} // tgen
+E9x2 ::E9x2(){ note_ctor("E9x2", this);} // tgen
+
+static void Test_E9x2()
+{
+ extern Class_Descriptor cd_E9x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x2, buf);
+ E9x2 *dp, &lv = *(dp=new (buf) E9x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x2)");
+ check_base_class_offset(lv, (A1*)(C9*), 0, "E9x2");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(20,16), "E9x2");
+ check_base_class_offset(lv, (C9*), 0, "E9x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E9x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E9x2.fd");
+ test_class_info(&lv, &cd_E9x2);
+ dp->~E9x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x2(Test_E9x2, "E9x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x2C1Ev();
+extern void _ZN4E9x2D1Ev();
+Name_Map name_map_E9x2[] = {
+ NSPAIR(_ZN4E9x2C1Ev),
+ NSPAIR(_ZN4E9x2D1Ev),
+ {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_E9x2[] = {
+ // 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(20,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, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E9x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x2[] = {
+ {&(_ZTV4E9x2[4]), 4,9},
+ {&(_tg__ZTV2C9__4E9x2[3]), 3,4},
+ {&(_ZTV4E9x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+Class_Descriptor cd_E9x2 = { "E9x2", // class name
+ bases_E9x2, 4,
+ &(vtc_E9x2[0]), // expected_vtbl_contents
+ &(vtt_E9x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x2),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 G9x2y0 : E9x2 , F1 {
+ int ff;
+ ~G9x2y0(); // tgen
+ G9x2y0(); // tgen
+};
+//SIG(1 G9x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x2y0 ::~G9x2y0(){ note_dtor("G9x2y0", this);} // tgen
+G9x2y0 ::G9x2y0(){ note_ctor("G9x2y0", this);} // tgen
+
+static void Test_G9x2y0()
+{
+ extern Class_Descriptor cd_G9x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x2y0, buf);
+ G9x2y0 *dp, &lv = *(dp=new (buf) G9x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y0)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), 0, "G9x2y0");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(40,28), "G9x2y0");
+ check_base_class_offset(lv, (C9*)(E9x2*), 0, "G9x2y0");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(48,32), "G9x2y0");
+ check_base_class_offset(lv, (E9x2*), 0, "G9x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G9x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G9x2y0.ff");
+ test_class_info(&lv, &cd_G9x2y0);
+ dp->~G9x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y0(Test_G9x2y0, "G9x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y0C1Ev();
+extern void _ZN6G9x2y0D1Ev();
+Name_Map name_map_G9x2y0[] = {
+ NSPAIR(_ZN6G9x2y0C1Ev),
+ NSPAIR(_ZN6G9x2y0D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x2y0[] = {
+ // 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(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_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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x2y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y0[] = {
+ {&(_ZTV6G9x2y0[4]), 4,12},
+ {&(_tg__ZTV4E9x2__6G9x2y0[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y0[3]), 3,4},
+ {&(_ZTV6G9x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G9x2y0[];
+extern VTBL_ENTRY _ZTV6G9x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y0[];
+Class_Descriptor cd_G9x2y0 = { "G9x2y0", // class name
+ bases_G9x2y0, 6,
+ &(vtc_G9x2y0[0]), // expected_vtbl_contents
+ &(vtt_G9x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y0),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 G9x2y1 : virtual E9x2 , F1 {
+ int ff;
+ ~G9x2y1(); // tgen
+ G9x2y1(); // tgen
+};
+//SIG(1 G9x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x2y1 ::~G9x2y1(){ note_dtor("G9x2y1", this);} // tgen
+G9x2y1 ::G9x2y1(){ note_ctor("G9x2y1", this);} // tgen
+
+static void Test_G9x2y1()
+{
+ extern Class_Descriptor cd_G9x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x2y1, buf);
+ G9x2y1 *dp, &lv = *(dp=new (buf) G9x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y1)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), ABISELECT(16,12), "G9x2y1");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(36,28), "G9x2y1");
+ check_base_class_offset(lv, (C9*)(E9x2*), ABISELECT(16,12), "G9x2y1");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(40,32), "G9x2y1");
+ check_base_class_offset(lv, (E9x2*), ABISELECT(16,12), "G9x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x2y1.ff");
+ test_class_info(&lv, &cd_G9x2y1);
+ dp->~G9x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y1(Test_G9x2y1, "G9x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y1C1Ev();
+extern void _ZN6G9x2y1D1Ev();
+Name_Map name_map_G9x2y1[] = {
+ NSPAIR(_ZN6G9x2y1C1Ev),
+ NSPAIR(_ZN6G9x2y1D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x2y1[] = {
+ // 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_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, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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
+ 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 _ZTI6G9x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y1[] = {
+ {&(_ZTV6G9x2y1[5]), 5,16},
+ {&(_ZTV6G9x2y1[11]), 11,16},
+ {&(_ZTV6G9x2y1[15]), 15,16},
+ {&(_tg__ZTV4E9x2__6G9x2y1[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x2y1[];
+extern VTBL_ENTRY _ZTV6G9x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y1[];
+Class_Descriptor cd_G9x2y1 = { "G9x2y1", // class name
+ bases_G9x2y1, 6,
+ &(vtc_G9x2y1[0]), // expected_vtbl_contents
+ &(vtt_G9x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y1),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 G9x2y2 : E9x2 , virtual F1 {
+ int ff;
+ ~G9x2y2(); // tgen
+ G9x2y2(); // tgen
+};
+//SIG(1 G9x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x2y2 ::~G9x2y2(){ note_dtor("G9x2y2", this);} // tgen
+G9x2y2 ::G9x2y2(){ note_ctor("G9x2y2", this);} // tgen
+
+static void Test_G9x2y2()
+{
+ extern Class_Descriptor cd_G9x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x2y2, buf);
+ G9x2y2 *dp, &lv = *(dp=new (buf) G9x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y2)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), 0, "G9x2y2");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(24,20), "G9x2y2");
+ check_base_class_offset(lv, (C9*)(E9x2*), 0, "G9x2y2");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(32,24), "G9x2y2");
+ check_base_class_offset(lv, (E9x2*), 0, "G9x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G9x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x2y2.ff");
+ test_class_info(&lv, &cd_G9x2y2);
+ dp->~G9x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y2(Test_G9x2y2, "G9x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y2C1Ev();
+extern void _ZN6G9x2y2D1Ev();
+Name_Map name_map_G9x2y2[] = {
+ NSPAIR(_ZN6G9x2y2C1Ev),
+ NSPAIR(_ZN6G9x2y2D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x2y2[] = {
+ // 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_B0, ABISELECT(24,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_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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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(48,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y2[] = {
+ {&(_ZTV6G9x2y2[5]), 5,14},
+ {&(_tg__ZTV4E9x2__6G9x2y2[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y2[3]), 3,4},
+ {&(_ZTV6G9x2y2[9]), 9,14},
+ {&(_ZTV6G9x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G9x2y2[];
+extern VTBL_ENTRY _ZTV6G9x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y2[];
+Class_Descriptor cd_G9x2y2 = { "G9x2y2", // class name
+ bases_G9x2y2, 6,
+ &(vtc_G9x2y2[0]), // expected_vtbl_contents
+ &(vtt_G9x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y2),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 G9x2y3 : virtual E9x2 , virtual F1 {
+ int ff;
+ ~G9x2y3(); // tgen
+ G9x2y3(); // tgen
+};
+//SIG(1 G9x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x2y3 ::~G9x2y3(){ note_dtor("G9x2y3", this);} // tgen
+G9x2y3 ::G9x2y3(){ note_ctor("G9x2y3", this);} // tgen
+
+static void Test_G9x2y3()
+{
+ extern Class_Descriptor cd_G9x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x2y3, buf);
+ G9x2y3 *dp, &lv = *(dp=new (buf) G9x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y3)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), ABISELECT(16,8), "G9x2y3");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(36,24), "G9x2y3");
+ check_base_class_offset(lv, (C9*)(E9x2*), ABISELECT(16,8), "G9x2y3");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(40,28), "G9x2y3");
+ check_base_class_offset(lv, (E9x2*), ABISELECT(16,8), "G9x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x2y3.ff");
+ test_class_info(&lv, &cd_G9x2y3);
+ dp->~G9x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y3(Test_G9x2y3, "G9x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y3C1Ev();
+extern void _ZN6G9x2y3D1Ev();
+Name_Map name_map_G9x2y3[] = {
+ NSPAIR(_ZN6G9x2y3C1Ev),
+ NSPAIR(_ZN6G9x2y3D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x2y3[] = {
+ // 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_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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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_F1, ABISELECT(56,36), //bcp->offset
+ 16, //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 _ZTI6G9x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y3[] = {
+ {&(_ZTV6G9x2y3[6]), 6,20},
+ {&(_ZTV6G9x2y3[11]), 11,20},
+ {&(_ZTV6G9x2y3[15]), 15,20},
+ {&(_ZTV6G9x2y3[19]), 19,20},
+ {&(_tg__ZTV4E9x2__6G9x2y3[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x2y3[];
+extern VTBL_ENTRY _ZTV6G9x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y3[];
+Class_Descriptor cd_G9x2y3 = { "G9x2y3", // class name
+ bases_G9x2y3, 6,
+ &(vtc_G9x2y3[0]), // expected_vtbl_contents
+ &(vtt_G9x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y3),7, //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 G9x2y4 : E9x2 , F0 {
+ int ff;
+ ~G9x2y4(); // tgen
+ G9x2y4(); // tgen
+};
+//SIG(1 G9x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x2y4 ::~G9x2y4(){ note_dtor("G9x2y4", this);} // tgen
+G9x2y4 ::G9x2y4(){ note_ctor("G9x2y4", this);} // tgen
+
+static void Test_G9x2y4()
+{
+ extern Class_Descriptor cd_G9x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x2y4, buf);
+ G9x2y4 *dp, &lv = *(dp=new (buf) G9x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y4)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), 0, "G9x2y4");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(28,24), "G9x2y4");
+ check_base_class_offset(lv, (C9*)(E9x2*), 0, "G9x2y4");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(32,28), "G9x2y4");
+ check_base_class_offset(lv, (E9x2*), 0, "G9x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G9x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G9x2y4.ff");
+ test_class_info(&lv, &cd_G9x2y4);
+ dp->~G9x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y4(Test_G9x2y4, "G9x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y4C1Ev();
+extern void _ZN6G9x2y4D1Ev();
+Name_Map name_map_G9x2y4[] = {
+ NSPAIR(_ZN6G9x2y4C1Ev),
+ NSPAIR(_ZN6G9x2y4D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x2y4[] = {
+ // 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(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
+ 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y4[] = {
+ {&(_ZTV6G9x2y4[4]), 4,9},
+ {&(_tg__ZTV4E9x2__6G9x2y4[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y4[3]), 3,4},
+ {&(_ZTV6G9x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G9x2y4[];
+extern VTBL_ENTRY _ZTV6G9x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y4[];
+Class_Descriptor cd_G9x2y4 = { "G9x2y4", // class name
+ bases_G9x2y4, 6,
+ &(vtc_G9x2y4[0]), // expected_vtbl_contents
+ &(vtt_G9x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y4),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 G9x2y5 : virtual E9x2 , F0 {
+ int ff;
+ ~G9x2y5(); // tgen
+ G9x2y5(); // tgen
+};
+//SIG(1 G9x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x2y5 ::~G9x2y5(){ note_dtor("G9x2y5", this);} // tgen
+G9x2y5 ::G9x2y5(){ note_ctor("G9x2y5", this);} // tgen
+
+static void Test_G9x2y5()
+{
+ extern Class_Descriptor cd_G9x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x2y5, buf);
+ G9x2y5 *dp, &lv = *(dp=new (buf) G9x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y5)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), ABISELECT(16,12), "G9x2y5");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(36,28), "G9x2y5");
+ check_base_class_offset(lv, (C9*)(E9x2*), ABISELECT(16,12), "G9x2y5");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(40,32), "G9x2y5");
+ check_base_class_offset(lv, (E9x2*), ABISELECT(16,12), "G9x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x2y5.ff");
+ test_class_info(&lv, &cd_G9x2y5);
+ dp->~G9x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y5(Test_G9x2y5, "G9x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y5C1Ev();
+extern void _ZN6G9x2y5D1Ev();
+Name_Map name_map_G9x2y5[] = {
+ NSPAIR(_ZN6G9x2y5C1Ev),
+ NSPAIR(_ZN6G9x2y5D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x2y5[] = {
+ // 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_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, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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
+ 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 _ZTI6G9x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y5[] = {
+ {&(_ZTV6G9x2y5[5]), 5,15},
+ {&(_ZTV6G9x2y5[10]), 10,15},
+ {&(_ZTV6G9x2y5[14]), 14,15},
+ {&(_tg__ZTV4E9x2__6G9x2y5[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x2y5[];
+extern VTBL_ENTRY _ZTV6G9x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y5[];
+Class_Descriptor cd_G9x2y5 = { "G9x2y5", // class name
+ bases_G9x2y5, 6,
+ &(vtc_G9x2y5[0]), // expected_vtbl_contents
+ &(vtt_G9x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y5),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 G9x2y6 : E9x2 , virtual F0 {
+ int ff;
+ ~G9x2y6(); // tgen
+ G9x2y6(); // tgen
+};
+//SIG(1 G9x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x2y6 ::~G9x2y6(){ note_dtor("G9x2y6", this);} // tgen
+G9x2y6 ::G9x2y6(){ note_ctor("G9x2y6", this);} // tgen
+
+static void Test_G9x2y6()
+{
+ extern Class_Descriptor cd_G9x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x2y6, buf);
+ G9x2y6 *dp, &lv = *(dp=new (buf) G9x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y6)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), 0, "G9x2y6");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(24,20), "G9x2y6");
+ check_base_class_offset(lv, (C9*)(E9x2*), 0, "G9x2y6");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(32,24), "G9x2y6");
+ check_base_class_offset(lv, (E9x2*), 0, "G9x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G9x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x2y6.ff");
+ test_class_info(&lv, &cd_G9x2y6);
+ dp->~G9x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y6(Test_G9x2y6, "G9x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y6C1Ev();
+extern void _ZN6G9x2y6D1Ev();
+Name_Map name_map_G9x2y6[] = {
+ NSPAIR(_ZN6G9x2y6C1Ev),
+ NSPAIR(_ZN6G9x2y6D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x2y6[] = {
+ // 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(24,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_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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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(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 _ZTI6G9x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y6[] = {
+ {&(_ZTV6G9x2y6[5]), 5,10},
+ {&(_tg__ZTV4E9x2__6G9x2y6[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y6[3]), 3,4},
+ {&(_ZTV6G9x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G9x2y6[];
+extern VTBL_ENTRY _ZTV6G9x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y6[];
+Class_Descriptor cd_G9x2y6 = { "G9x2y6", // class name
+ bases_G9x2y6, 6,
+ &(vtc_G9x2y6[0]), // expected_vtbl_contents
+ &(vtt_G9x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y6),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 G9x2y7 : virtual E9x2 , virtual F0 {
+ int ff;
+ ~G9x2y7(); // tgen
+ G9x2y7(); // tgen
+};
+//SIG(1 G9x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x2y7 ::~G9x2y7(){ note_dtor("G9x2y7", this);} // tgen
+G9x2y7 ::G9x2y7(){ note_ctor("G9x2y7", this);} // tgen
+
+static void Test_G9x2y7()
+{
+ extern Class_Descriptor cd_G9x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x2y7, buf);
+ G9x2y7 *dp, &lv = *(dp=new (buf) G9x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x2y7)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x2*), ABISELECT(16,8), "G9x2y7");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x2*), ABISELECT(36,24), "G9x2y7");
+ check_base_class_offset(lv, (C9*)(E9x2*), ABISELECT(16,8), "G9x2y7");
+ check_base_class_offset(lv, (D1*)(E9x2*), ABISELECT(40,28), "G9x2y7");
+ check_base_class_offset(lv, (E9x2*), ABISELECT(16,8), "G9x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x2y7.ff");
+ test_class_info(&lv, &cd_G9x2y7);
+ dp->~G9x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x2y7(Test_G9x2y7, "G9x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x2y7C1Ev();
+extern void _ZN6G9x2y7D1Ev();
+Name_Map name_map_G9x2y7[] = {
+ NSPAIR(_ZN6G9x2y7C1Ev),
+ NSPAIR(_ZN6G9x2y7D1Ev),
+ {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_E9x2;
+extern VTBL_ENTRY _ZTI4E9x2[];
+extern VTBL_ENTRY _ZTV4E9x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x2y7[] = {
+ // 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_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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x2, 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
+ 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 _ZTI6G9x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x2y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x2__6G9x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x2__6G9x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x2__6G9x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G9x2y7[] = {
+ {&(_ZTV6G9x2y7[6]), 6,16},
+ {&(_ZTV6G9x2y7[11]), 11,16},
+ {&(_ZTV6G9x2y7[15]), 15,16},
+ {&(_tg__ZTV4E9x2__6G9x2y7[4]), 4,5},
+ {&(_tg__ZTV2C94E9x2__6G9x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E9x2__6G9x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x2y7[];
+extern VTBL_ENTRY _ZTV6G9x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x2y7[];
+Class_Descriptor cd_G9x2y7 = { "G9x2y7", // class name
+ bases_G9x2y7, 6,
+ &(vtc_G9x2y7[0]), // expected_vtbl_contents
+ &(vtt_G9x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x2y7),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 E10x2 : C10 , virtual D1 {
+ int fd;
+ ~E10x2(); // tgen
+ E10x2(); // tgen
+};
+//SIG(-1 E10x2) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E10x2 ::~E10x2(){ note_dtor("E10x2", this);} // tgen
+E10x2 ::E10x2(){ note_ctor("E10x2", this);} // tgen
+
+static void Test_E10x2()
+{
+ extern Class_Descriptor cd_E10x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x2, buf);
+ E10x2 *dp, &lv = *(dp=new (buf) E10x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x2)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(16,12), "E10x2");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(20,16), "E10x2");
+ check_base_class_offset(lv, (C10*), 0, "E10x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E10x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E10x2.fd");
+ test_class_info(&lv, &cd_E10x2);
+ dp->~E10x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x2(Test_E10x2, "E10x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x2C1Ev();
+extern void _ZN5E10x2D1Ev();
+Name_Map name_map_E10x2[] = {
+ NSPAIR(_ZN5E10x2C1Ev),
+ NSPAIR(_ZN5E10x2D1Ev),
+ {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_E10x2[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(20,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, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E10x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E10x2[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x2[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x2[] = {
+ {&(_ZTV5E10x2[5]), 5,9},
+ {&(_tg__ZTV3C10__5E10x2[4]), 4,4},
+ {&(_ZTV5E10x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+Class_Descriptor cd_E10x2 = { "E10x2", // class name
+ bases_E10x2, 4,
+ &(vtc_E10x2[0]), // expected_vtbl_contents
+ &(vtt_E10x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x2),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x2),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 G10x2y0 : E10x2 , F1 {
+ int ff;
+ ~G10x2y0(); // tgen
+ G10x2y0(); // tgen
+};
+//SIG(1 G10x2y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x2y0 ::~G10x2y0(){ note_dtor("G10x2y0", this);} // tgen
+G10x2y0 ::G10x2y0(){ note_ctor("G10x2y0", this);} // tgen
+
+static void Test_G10x2y0()
+{
+ extern Class_Descriptor cd_G10x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x2y0, buf);
+ G10x2y0 *dp, &lv = *(dp=new (buf) G10x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y0)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(32,24), "G10x2y0");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(36,28), "G10x2y0");
+ check_base_class_offset(lv, (C10*)(E10x2*), 0, "G10x2y0");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(40,32), "G10x2y0");
+ check_base_class_offset(lv, (E10x2*), 0, "G10x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G10x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G10x2y0.ff");
+ test_class_info(&lv, &cd_G10x2y0);
+ dp->~G10x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y0(Test_G10x2y0, "G10x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y0C1Ev();
+extern void _ZN7G10x2y0D1Ev();
+Name_Map name_map_G10x2y0[] = {
+ NSPAIR(_ZN7G10x2y0C1Ev),
+ NSPAIR(_ZN7G10x2y0D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x2y0[] = {
+ // 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(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_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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y0[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y0[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y0[] = {
+ {&(_ZTV7G10x2y0[5]), 5,12},
+ {&(_tg__ZTV5E10x2__7G10x2y0[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y0[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y0[3]), 3,4},
+ {&(_ZTV7G10x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G10x2y0[];
+extern VTBL_ENTRY _ZTV7G10x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y0[];
+Class_Descriptor cd_G10x2y0 = { "G10x2y0", // class name
+ bases_G10x2y0, 6,
+ &(vtc_G10x2y0[0]), // expected_vtbl_contents
+ &(vtt_G10x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y0),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y0),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 G10x2y1 : virtual E10x2 , F1 {
+ int ff;
+ ~G10x2y1(); // tgen
+ G10x2y1(); // tgen
+};
+//SIG(1 G10x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x2y1 ::~G10x2y1(){ note_dtor("G10x2y1", this);} // tgen
+G10x2y1 ::G10x2y1(){ note_ctor("G10x2y1", this);} // tgen
+
+static void Test_G10x2y1()
+{
+ extern Class_Descriptor cd_G10x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x2y1, buf);
+ G10x2y1 *dp, &lv = *(dp=new (buf) G10x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y1)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(32,24), "G10x2y1");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(36,28), "G10x2y1");
+ check_base_class_offset(lv, (C10*)(E10x2*), ABISELECT(16,12), "G10x2y1");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(40,32), "G10x2y1");
+ check_base_class_offset(lv, (E10x2*), ABISELECT(16,12), "G10x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x2y1.ff");
+ test_class_info(&lv, &cd_G10x2y1);
+ dp->~G10x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y1(Test_G10x2y1, "G10x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y1C1Ev();
+extern void _ZN7G10x2y1D1Ev();
+Name_Map name_map_G10x2y1[] = {
+ NSPAIR(_ZN7G10x2y1C1Ev),
+ NSPAIR(_ZN7G10x2y1D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x2y1[] = {
+ // 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(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_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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G10x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x2y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y1[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y1[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y1[] = {
+ {&(_ZTV7G10x2y1[6]), 6,16},
+ {&(_ZTV7G10x2y1[12]), 12,16},
+ {&(_ZTV7G10x2y1[15]), 15,16},
+ {&(_tg__ZTV5E10x2__7G10x2y1[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y1[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G10x2y1[];
+extern VTBL_ENTRY _ZTV7G10x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y1[];
+Class_Descriptor cd_G10x2y1 = { "G10x2y1", // class name
+ bases_G10x2y1, 6,
+ &(vtc_G10x2y1[0]), // expected_vtbl_contents
+ &(vtt_G10x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y1),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y1),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 G10x2y2 : E10x2 , virtual F1 {
+ int ff;
+ ~G10x2y2(); // tgen
+ G10x2y2(); // tgen
+};
+//SIG(1 G10x2y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x2y2 ::~G10x2y2(){ note_dtor("G10x2y2", this);} // tgen
+G10x2y2 ::G10x2y2(){ note_ctor("G10x2y2", this);} // tgen
+
+static void Test_G10x2y2()
+{
+ extern Class_Descriptor cd_G10x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x2y2, buf);
+ G10x2y2 *dp, &lv = *(dp=new (buf) G10x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y2)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(20,16), "G10x2y2");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(24,20), "G10x2y2");
+ check_base_class_offset(lv, (C10*)(E10x2*), 0, "G10x2y2");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(32,24), "G10x2y2");
+ check_base_class_offset(lv, (E10x2*), 0, "G10x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x2y2.ff");
+ test_class_info(&lv, &cd_G10x2y2);
+ dp->~G10x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y2(Test_G10x2y2, "G10x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y2C1Ev();
+extern void _ZN7G10x2y2D1Ev();
+Name_Map name_map_G10x2y2[] = {
+ NSPAIR(_ZN7G10x2y2C1Ev),
+ NSPAIR(_ZN7G10x2y2D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B0, ABISELECT(24,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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x2y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y2[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y2[] = {
+ {&(_ZTV7G10x2y2[6]), 6,14},
+ {&(_tg__ZTV5E10x2__7G10x2y2[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y2[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y2[3]), 3,4},
+ {&(_ZTV7G10x2y2[9]), 9,14},
+ {&(_ZTV7G10x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G10x2y2[];
+extern VTBL_ENTRY _ZTV7G10x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y2[];
+Class_Descriptor cd_G10x2y2 = { "G10x2y2", // class name
+ bases_G10x2y2, 6,
+ &(vtc_G10x2y2[0]), // expected_vtbl_contents
+ &(vtt_G10x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y2),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y2),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 G10x2y3 : virtual E10x2 , virtual F1 {
+ int ff;
+ ~G10x2y3(); // tgen
+ G10x2y3(); // tgen
+};
+//SIG(1 G10x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x2y3 ::~G10x2y3(){ note_dtor("G10x2y3", this);} // tgen
+G10x2y3 ::G10x2y3(){ note_ctor("G10x2y3", this);} // tgen
+
+static void Test_G10x2y3()
+{
+ extern Class_Descriptor cd_G10x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x2y3, buf);
+ G10x2y3 *dp, &lv = *(dp=new (buf) G10x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y3)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(32,20), "G10x2y3");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(36,24), "G10x2y3");
+ check_base_class_offset(lv, (C10*)(E10x2*), ABISELECT(16,8), "G10x2y3");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(40,28), "G10x2y3");
+ check_base_class_offset(lv, (E10x2*), ABISELECT(16,8), "G10x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x2y3.ff");
+ test_class_info(&lv, &cd_G10x2y3);
+ dp->~G10x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y3(Test_G10x2y3, "G10x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y3C1Ev();
+extern void _ZN7G10x2y3D1Ev();
+Name_Map name_map_G10x2y3[] = {
+ NSPAIR(_ZN7G10x2y3C1Ev),
+ NSPAIR(_ZN7G10x2y3D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x2y3[] = {
+ // 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, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 16, //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 _ZTI7G10x2y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x2y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y3[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y3[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y3[] = {
+ {&(_ZTV7G10x2y3[7]), 7,20},
+ {&(_ZTV7G10x2y3[12]), 12,20},
+ {&(_ZTV7G10x2y3[15]), 15,20},
+ {&(_ZTV7G10x2y3[19]), 19,20},
+ {&(_tg__ZTV5E10x2__7G10x2y3[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y3[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G10x2y3[];
+extern VTBL_ENTRY _ZTV7G10x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y3[];
+Class_Descriptor cd_G10x2y3 = { "G10x2y3", // class name
+ bases_G10x2y3, 6,
+ &(vtc_G10x2y3[0]), // expected_vtbl_contents
+ &(vtt_G10x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y3),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y3),7, //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 G10x2y4 : E10x2 , F0 {
+ int ff;
+ ~G10x2y4(); // tgen
+ G10x2y4(); // tgen
+};
+//SIG(1 G10x2y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x2y4 ::~G10x2y4(){ note_dtor("G10x2y4", this);} // tgen
+G10x2y4 ::G10x2y4(){ note_ctor("G10x2y4", this);} // tgen
+
+static void Test_G10x2y4()
+{
+ extern Class_Descriptor cd_G10x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x2y4, buf);
+ G10x2y4 *dp, &lv = *(dp=new (buf) G10x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y4)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(24,20), "G10x2y4");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(28,24), "G10x2y4");
+ check_base_class_offset(lv, (C10*)(E10x2*), 0, "G10x2y4");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(32,28), "G10x2y4");
+ check_base_class_offset(lv, (E10x2*), 0, "G10x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G10x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x2y4.ff");
+ test_class_info(&lv, &cd_G10x2y4);
+ dp->~G10x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y4(Test_G10x2y4, "G10x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y4C1Ev();
+extern void _ZN7G10x2y4D1Ev();
+Name_Map name_map_G10x2y4[] = {
+ NSPAIR(_ZN7G10x2y4C1Ev),
+ NSPAIR(_ZN7G10x2y4D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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
+ 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x2y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y4[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y4[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y4[] = {
+ {&(_ZTV7G10x2y4[5]), 5,9},
+ {&(_tg__ZTV5E10x2__7G10x2y4[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y4[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y4[3]), 3,4},
+ {&(_ZTV7G10x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G10x2y4[];
+extern VTBL_ENTRY _ZTV7G10x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y4[];
+Class_Descriptor cd_G10x2y4 = { "G10x2y4", // class name
+ bases_G10x2y4, 6,
+ &(vtc_G10x2y4[0]), // expected_vtbl_contents
+ &(vtt_G10x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y4),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y4),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 G10x2y5 : virtual E10x2 , F0 {
+ int ff;
+ ~G10x2y5(); // tgen
+ G10x2y5(); // tgen
+};
+//SIG(1 G10x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x2y5 ::~G10x2y5(){ note_dtor("G10x2y5", this);} // tgen
+G10x2y5 ::G10x2y5(){ note_ctor("G10x2y5", this);} // tgen
+
+static void Test_G10x2y5()
+{
+ extern Class_Descriptor cd_G10x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x2y5, buf);
+ G10x2y5 *dp, &lv = *(dp=new (buf) G10x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y5)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(32,24), "G10x2y5");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(36,28), "G10x2y5");
+ check_base_class_offset(lv, (C10*)(E10x2*), ABISELECT(16,12), "G10x2y5");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(40,32), "G10x2y5");
+ check_base_class_offset(lv, (E10x2*), ABISELECT(16,12), "G10x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x2y5.ff");
+ test_class_info(&lv, &cd_G10x2y5);
+ dp->~G10x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y5(Test_G10x2y5, "G10x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y5C1Ev();
+extern void _ZN7G10x2y5D1Ev();
+Name_Map name_map_G10x2y5[] = {
+ NSPAIR(_ZN7G10x2y5C1Ev),
+ NSPAIR(_ZN7G10x2y5D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x2y5[] = {
+ // 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(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_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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, 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_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 _ZTI7G10x2y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x2y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y5[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y5[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y5[] = {
+ {&(_ZTV7G10x2y5[6]), 6,15},
+ {&(_ZTV7G10x2y5[11]), 11,15},
+ {&(_ZTV7G10x2y5[14]), 14,15},
+ {&(_tg__ZTV5E10x2__7G10x2y5[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y5[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G10x2y5[];
+extern VTBL_ENTRY _ZTV7G10x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y5[];
+Class_Descriptor cd_G10x2y5 = { "G10x2y5", // class name
+ bases_G10x2y5, 6,
+ &(vtc_G10x2y5[0]), // expected_vtbl_contents
+ &(vtt_G10x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y5),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y5),6, //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 G10x2y6 : E10x2 , virtual F0 {
+ int ff;
+ ~G10x2y6(); // tgen
+ G10x2y6(); // tgen
+};
+//SIG(1 G10x2y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x2y6 ::~G10x2y6(){ note_dtor("G10x2y6", this);} // tgen
+G10x2y6 ::G10x2y6(){ note_ctor("G10x2y6", this);} // tgen
+
+static void Test_G10x2y6()
+{
+ extern Class_Descriptor cd_G10x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x2y6, buf);
+ G10x2y6 *dp, &lv = *(dp=new (buf) G10x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y6)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(20,16), "G10x2y6");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(24,20), "G10x2y6");
+ check_base_class_offset(lv, (C10*)(E10x2*), 0, "G10x2y6");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(32,24), "G10x2y6");
+ check_base_class_offset(lv, (E10x2*), 0, "G10x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x2y6.ff");
+ test_class_info(&lv, &cd_G10x2y6);
+ dp->~G10x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y6(Test_G10x2y6, "G10x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y6C1Ev();
+extern void _ZN7G10x2y6D1Ev();
+Name_Map name_map_G10x2y6[] = {
+ NSPAIR(_ZN7G10x2y6C1Ev),
+ NSPAIR(_ZN7G10x2y6D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B0, ABISELECT(24,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_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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G10x2y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y6[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y6[] = {
+ {&(_ZTV7G10x2y6[6]), 6,10},
+ {&(_tg__ZTV5E10x2__7G10x2y6[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y6[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y6[3]), 3,4},
+ {&(_ZTV7G10x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G10x2y6[];
+extern VTBL_ENTRY _ZTV7G10x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y6[];
+Class_Descriptor cd_G10x2y6 = { "G10x2y6", // class name
+ bases_G10x2y6, 6,
+ &(vtc_G10x2y6[0]), // expected_vtbl_contents
+ &(vtt_G10x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y6),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y6),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 G10x2y7 : virtual E10x2 , virtual F0 {
+ int ff;
+ ~G10x2y7(); // tgen
+ G10x2y7(); // tgen
+};
+//SIG(1 G10x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x2y7 ::~G10x2y7(){ note_dtor("G10x2y7", this);} // tgen
+G10x2y7 ::G10x2y7(){ note_ctor("G10x2y7", this);} // tgen
+
+static void Test_G10x2y7()
+{
+ extern Class_Descriptor cd_G10x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x2y7, buf);
+ G10x2y7 *dp, &lv = *(dp=new (buf) G10x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x2y7)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x2*), ABISELECT(32,20), "G10x2y7");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x2*), ABISELECT(36,24), "G10x2y7");
+ check_base_class_offset(lv, (C10*)(E10x2*), ABISELECT(16,8), "G10x2y7");
+ check_base_class_offset(lv, (D1*)(E10x2*), ABISELECT(40,28), "G10x2y7");
+ check_base_class_offset(lv, (E10x2*), ABISELECT(16,8), "G10x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G10x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x2y7.ff");
+ test_class_info(&lv, &cd_G10x2y7);
+ dp->~G10x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x2y7(Test_G10x2y7, "G10x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x2y7C1Ev();
+extern void _ZN7G10x2y7D1Ev();
+Name_Map name_map_G10x2y7[] = {
+ NSPAIR(_ZN7G10x2y7C1Ev),
+ NSPAIR(_ZN7G10x2y7D1Ev),
+ {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_E10x2;
+extern VTBL_ENTRY _ZTI5E10x2[];
+extern VTBL_ENTRY _ZTV5E10x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x2y7[] = {
+ // 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, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x2, ABISELECT(16,8), //bcp->offset
+ 7, //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(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 _ZTI7G10x2y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x2y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x2y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x2y7[];
+static VTBL_ENTRY _tg__ZTV5E10x2__7G10x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x2__7G10x2y7[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x2__7G10x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G10x2y7[] = {
+ {&(_ZTV7G10x2y7[7]), 7,16},
+ {&(_ZTV7G10x2y7[12]), 12,16},
+ {&(_ZTV7G10x2y7[15]), 15,16},
+ {&(_tg__ZTV5E10x2__7G10x2y7[5]), 5,5},
+ {&(_tg__ZTV3C105E10x2__7G10x2y7[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x2__7G10x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G10x2y7[];
+extern VTBL_ENTRY _ZTV7G10x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x2y7[];
+Class_Descriptor cd_G10x2y7 = { "G10x2y7", // class name
+ bases_G10x2y7, 6,
+ &(vtc_G10x2y7[0]), // expected_vtbl_contents
+ &(vtt_G10x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x2y7),16, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x2y7),6, //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 E11x2 : C11 , virtual D1 {
+ int fd;
+ ~E11x2(); // tgen
+ E11x2(); // tgen
+};
+//SIG(-1 E11x2) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E11x2 ::~E11x2(){ note_dtor("E11x2", this);} // tgen
+E11x2 ::E11x2(){ note_ctor("E11x2", this);} // tgen
+
+static void Test_E11x2()
+{
+ extern Class_Descriptor cd_E11x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E11x2, buf);
+ E11x2 *dp, &lv = *(dp=new (buf) E11x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E11x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x2)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(16,12), "E11x2");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(28,20), "E11x2");
+ check_base_class_offset(lv, (C11*), 0, "E11x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(32,24), "E11x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E11x2.fd");
+ test_class_info(&lv, &cd_E11x2);
+ dp->~E11x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x2(Test_E11x2, "E11x2", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x2C1Ev();
+extern void _ZN5E11x2D1Ev();
+Name_Map name_map_E11x2[] = {
+ NSPAIR(_ZN5E11x2C1Ev),
+ NSPAIR(_ZN5E11x2D1Ev),
+ {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_E11x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //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(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, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E11x2[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x2[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x2[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x2[] = {
+ {&(_ZTV5E11x2[5]), 5,13},
+ {&(_tg__ZTV3C11__5E11x2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x2[3]), 3,4},
+ {&(_ZTV5E11x2[8]), 8,13},
+ {&(_ZTV5E11x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+Class_Descriptor cd_E11x2 = { "E11x2", // class name
+ bases_E11x2, 4,
+ &(vtc_E11x2[0]), // expected_vtbl_contents
+ &(vtt_E11x2[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E11x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x2),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 G11x2y0 : E11x2 , F1 {
+ int ff;
+ ~G11x2y0(); // tgen
+ G11x2y0(); // tgen
+};
+//SIG(1 G11x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x2y0 ::~G11x2y0(){ note_dtor("G11x2y0", this);} // tgen
+G11x2y0 ::G11x2y0(){ note_ctor("G11x2y0", this);} // tgen
+
+static void Test_G11x2y0()
+{
+ extern Class_Descriptor cd_G11x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x2y0, buf);
+ G11x2y0 *dp, &lv = *(dp=new (buf) G11x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y0)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(32,24), "G11x2y0");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(44,32), "G11x2y0");
+ check_base_class_offset(lv, (C11*)(E11x2*), 0, "G11x2y0");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(48,36), "G11x2y0");
+ check_base_class_offset(lv, (E11x2*), 0, "G11x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G11x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G11x2y0.ff");
+ test_class_info(&lv, &cd_G11x2y0);
+ dp->~G11x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y0(Test_G11x2y0, "G11x2y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y0C1Ev();
+extern void _ZN7G11x2y0D1Ev();
+Name_Map name_map_G11x2y0[] = {
+ NSPAIR(_ZN7G11x2y0C1Ev),
+ NSPAIR(_ZN7G11x2y0D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x2y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 8, //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
+ 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_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(48,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y0[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y0[] = {
+ {&(_ZTV7G11x2y0[5]), 5,16},
+ {&(_tg__ZTV5E11x2__7G11x2y0[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y0[3]), 3,4},
+ {&(_ZTV7G11x2y0[11]), 11,16},
+ {&(_ZTV7G11x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G11x2y0[];
+extern VTBL_ENTRY _ZTV7G11x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y0[];
+Class_Descriptor cd_G11x2y0 = { "G11x2y0", // class name
+ bases_G11x2y0, 6,
+ &(vtc_G11x2y0[0]), // expected_vtbl_contents
+ &(vtt_G11x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y0),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y0),8, //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 G11x2y1 : virtual E11x2 , F1 {
+ int ff;
+ ~G11x2y1(); // tgen
+ G11x2y1(); // tgen
+};
+//SIG(1 G11x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x2y1 ::~G11x2y1(){ note_dtor("G11x2y1", this);} // tgen
+G11x2y1 ::G11x2y1(){ note_ctor("G11x2y1", this);} // tgen
+
+static void Test_G11x2y1()
+{
+ extern Class_Descriptor cd_G11x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x2y1, buf);
+ G11x2y1 *dp, &lv = *(dp=new (buf) G11x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y1)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(32,24), "G11x2y1");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(44,32), "G11x2y1");
+ check_base_class_offset(lv, (C11*)(E11x2*), ABISELECT(16,12), "G11x2y1");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(48,36), "G11x2y1");
+ check_base_class_offset(lv, (E11x2*), ABISELECT(16,12), "G11x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x2y1.ff");
+ test_class_info(&lv, &cd_G11x2y1);
+ dp->~G11x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y1(Test_G11x2y1, "G11x2y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y1C1Ev();
+extern void _ZN7G11x2y1D1Ev();
+Name_Map name_map_G11x2y1[] = {
+ NSPAIR(_ZN7G11x2y1C1Ev),
+ NSPAIR(_ZN7G11x2y1D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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(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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G11x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x2y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y1[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y1[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y1[] = {
+ {&(_ZTV7G11x2y1[6]), 6,20},
+ {&(_ZTV7G11x2y1[12]), 12,20},
+ {&(_ZTV7G11x2y1[15]), 15,20},
+ {&(_ZTV7G11x2y1[19]), 19,20},
+ {&(_tg__ZTV5E11x2__7G11x2y1[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x2y1[];
+extern VTBL_ENTRY _ZTV7G11x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y1[];
+Class_Descriptor cd_G11x2y1 = { "G11x2y1", // class name
+ bases_G11x2y1, 6,
+ &(vtc_G11x2y1[0]), // expected_vtbl_contents
+ &(vtt_G11x2y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y1),9, //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 G11x2y2 : E11x2 , virtual F1 {
+ int ff;
+ ~G11x2y2(); // tgen
+ G11x2y2(); // tgen
+};
+//SIG(1 G11x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x2y2 ::~G11x2y2(){ note_dtor("G11x2y2", this);} // tgen
+G11x2y2 ::G11x2y2(){ note_ctor("G11x2y2", this);} // tgen
+
+static void Test_G11x2y2()
+{
+ extern Class_Descriptor cd_G11x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x2y2, buf);
+ G11x2y2 *dp, &lv = *(dp=new (buf) G11x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y2)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(24,16), "G11x2y2");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(36,24), "G11x2y2");
+ check_base_class_offset(lv, (C11*)(E11x2*), 0, "G11x2y2");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(40,28), "G11x2y2");
+ check_base_class_offset(lv, (E11x2*), 0, "G11x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x2y2.ff");
+ test_class_info(&lv, &cd_G11x2y2);
+ dp->~G11x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y2(Test_G11x2y2, "G11x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y2C1Ev();
+extern void _ZN7G11x2y2D1Ev();
+Name_Map name_map_G11x2y2[] = {
+ NSPAIR(_ZN7G11x2y2C1Ev),
+ NSPAIR(_ZN7G11x2y2D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 6, //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
+ 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_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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y2[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y2[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y2[] = {
+ {&(_ZTV7G11x2y2[6]), 6,18},
+ {&(_tg__ZTV5E11x2__7G11x2y2[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y2[3]), 3,4},
+ {&(_ZTV7G11x2y2[9]), 9,18},
+ {&(_ZTV7G11x2y2[13]), 13,18},
+ {&(_ZTV7G11x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G11x2y2[];
+extern VTBL_ENTRY _ZTV7G11x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y2[];
+Class_Descriptor cd_G11x2y2 = { "G11x2y2", // class name
+ bases_G11x2y2, 6,
+ &(vtc_G11x2y2[0]), // expected_vtbl_contents
+ &(vtt_G11x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y2),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y2),9, //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 G11x2y3 : virtual E11x2 , virtual F1 {
+ int ff;
+ ~G11x2y3(); // tgen
+ G11x2y3(); // tgen
+};
+//SIG(1 G11x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x2y3 ::~G11x2y3(){ note_dtor("G11x2y3", this);} // tgen
+G11x2y3 ::G11x2y3(){ note_ctor("G11x2y3", this);} // tgen
+
+static void Test_G11x2y3()
+{
+ extern Class_Descriptor cd_G11x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x2y3, buf);
+ G11x2y3 *dp, &lv = *(dp=new (buf) G11x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y3)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(32,20), "G11x2y3");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(44,28), "G11x2y3");
+ check_base_class_offset(lv, (C11*)(E11x2*), ABISELECT(16,8), "G11x2y3");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(48,32), "G11x2y3");
+ check_base_class_offset(lv, (E11x2*), ABISELECT(16,8), "G11x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x2y3.ff");
+ test_class_info(&lv, &cd_G11x2y3);
+ dp->~G11x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y3(Test_G11x2y3, "G11x2y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y3C1Ev();
+extern void _ZN7G11x2y3D1Ev();
+Name_Map name_map_G11x2y3[] = {
+ NSPAIR(_ZN7G11x2y3C1Ev),
+ NSPAIR(_ZN7G11x2y3D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 20, //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 _ZTI7G11x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x2y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x2y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y3[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y3[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y3[] = {
+ {&(_ZTV7G11x2y3[7]), 7,24},
+ {&(_ZTV7G11x2y3[12]), 12,24},
+ {&(_ZTV7G11x2y3[15]), 15,24},
+ {&(_ZTV7G11x2y3[19]), 19,24},
+ {&(_ZTV7G11x2y3[23]), 23,24},
+ {&(_tg__ZTV5E11x2__7G11x2y3[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x2y3[];
+extern VTBL_ENTRY _ZTV7G11x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y3[];
+Class_Descriptor cd_G11x2y3 = { "G11x2y3", // class name
+ bases_G11x2y3, 6,
+ &(vtc_G11x2y3[0]), // expected_vtbl_contents
+ &(vtt_G11x2y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y3),10, //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 G11x2y4 : E11x2 , F0 {
+ int ff;
+ ~G11x2y4(); // tgen
+ G11x2y4(); // tgen
+};
+//SIG(1 G11x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x2y4 ::~G11x2y4(){ note_dtor("G11x2y4", this);} // tgen
+G11x2y4 ::G11x2y4(){ note_ctor("G11x2y4", this);} // tgen
+
+static void Test_G11x2y4()
+{
+ extern Class_Descriptor cd_G11x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x2y4, buf);
+ G11x2y4 *dp, &lv = *(dp=new (buf) G11x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y4)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(24,20), "G11x2y4");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(36,28), "G11x2y4");
+ check_base_class_offset(lv, (C11*)(E11x2*), 0, "G11x2y4");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(40,32), "G11x2y4");
+ check_base_class_offset(lv, (E11x2*), 0, "G11x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G11x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x2y4.ff");
+ test_class_info(&lv, &cd_G11x2y4);
+ dp->~G11x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y4(Test_G11x2y4, "G11x2y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y4C1Ev();
+extern void _ZN7G11x2y4D1Ev();
+Name_Map name_map_G11x2y4[] = {
+ NSPAIR(_ZN7G11x2y4C1Ev),
+ NSPAIR(_ZN7G11x2y4D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&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_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(40,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y4[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y4[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y4[] = {
+ {&(_ZTV7G11x2y4[5]), 5,13},
+ {&(_tg__ZTV5E11x2__7G11x2y4[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y4[3]), 3,4},
+ {&(_ZTV7G11x2y4[8]), 8,13},
+ {&(_ZTV7G11x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G11x2y4[];
+extern VTBL_ENTRY _ZTV7G11x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y4[];
+Class_Descriptor cd_G11x2y4 = { "G11x2y4", // class name
+ bases_G11x2y4, 6,
+ &(vtc_G11x2y4[0]), // expected_vtbl_contents
+ &(vtt_G11x2y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y4),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y4),8, //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 G11x2y5 : virtual E11x2 , F0 {
+ int ff;
+ ~G11x2y5(); // tgen
+ G11x2y5(); // tgen
+};
+//SIG(1 G11x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x2y5 ::~G11x2y5(){ note_dtor("G11x2y5", this);} // tgen
+G11x2y5 ::G11x2y5(){ note_ctor("G11x2y5", this);} // tgen
+
+static void Test_G11x2y5()
+{
+ extern Class_Descriptor cd_G11x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x2y5, buf);
+ G11x2y5 *dp, &lv = *(dp=new (buf) G11x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y5)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(32,24), "G11x2y5");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(44,32), "G11x2y5");
+ check_base_class_offset(lv, (C11*)(E11x2*), ABISELECT(16,12), "G11x2y5");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(48,36), "G11x2y5");
+ check_base_class_offset(lv, (E11x2*), ABISELECT(16,12), "G11x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x2y5.ff");
+ test_class_info(&lv, &cd_G11x2y5);
+ dp->~G11x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y5(Test_G11x2y5, "G11x2y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y5C1Ev();
+extern void _ZN7G11x2y5D1Ev();
+Name_Map name_map_G11x2y5[] = {
+ NSPAIR(_ZN7G11x2y5C1Ev),
+ NSPAIR(_ZN7G11x2y5D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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(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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, 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_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 _ZTI7G11x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x2y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y5[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y5[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y5[] = {
+ {&(_ZTV7G11x2y5[6]), 6,19},
+ {&(_ZTV7G11x2y5[11]), 11,19},
+ {&(_ZTV7G11x2y5[14]), 14,19},
+ {&(_ZTV7G11x2y5[18]), 18,19},
+ {&(_tg__ZTV5E11x2__7G11x2y5[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x2y5[];
+extern VTBL_ENTRY _ZTV7G11x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y5[];
+Class_Descriptor cd_G11x2y5 = { "G11x2y5", // class name
+ bases_G11x2y5, 6,
+ &(vtc_G11x2y5[0]), // expected_vtbl_contents
+ &(vtt_G11x2y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y5),9, //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 G11x2y6 : E11x2 , virtual F0 {
+ int ff;
+ ~G11x2y6(); // tgen
+ G11x2y6(); // tgen
+};
+//SIG(1 G11x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x2y6 ::~G11x2y6(){ note_dtor("G11x2y6", this);} // tgen
+G11x2y6 ::G11x2y6(){ note_ctor("G11x2y6", this);} // tgen
+
+static void Test_G11x2y6()
+{
+ extern Class_Descriptor cd_G11x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x2y6, buf);
+ G11x2y6 *dp, &lv = *(dp=new (buf) G11x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y6)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(24,16), "G11x2y6");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(36,24), "G11x2y6");
+ check_base_class_offset(lv, (C11*)(E11x2*), 0, "G11x2y6");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(40,28), "G11x2y6");
+ check_base_class_offset(lv, (E11x2*), 0, "G11x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G11x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x2y6.ff");
+ test_class_info(&lv, &cd_G11x2y6);
+ dp->~G11x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y6(Test_G11x2y6, "G11x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y6C1Ev();
+extern void _ZN7G11x2y6D1Ev();
+Name_Map name_map_G11x2y6[] = {
+ NSPAIR(_ZN7G11x2y6C1Ev),
+ NSPAIR(_ZN7G11x2y6D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 6, //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
+ 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_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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G11x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y6[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y6[] = {
+ {&(_ZTV7G11x2y6[6]), 6,14},
+ {&(_tg__ZTV5E11x2__7G11x2y6[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y6[3]), 3,4},
+ {&(_ZTV7G11x2y6[9]), 9,14},
+ {&(_ZTV7G11x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G11x2y6[];
+extern VTBL_ENTRY _ZTV7G11x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y6[];
+Class_Descriptor cd_G11x2y6 = { "G11x2y6", // class name
+ bases_G11x2y6, 6,
+ &(vtc_G11x2y6[0]), // expected_vtbl_contents
+ &(vtt_G11x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y6),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y6),8, //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 G11x2y7 : virtual E11x2 , virtual F0 {
+ int ff;
+ ~G11x2y7(); // tgen
+ G11x2y7(); // tgen
+};
+//SIG(1 G11x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x2y7 ::~G11x2y7(){ note_dtor("G11x2y7", this);} // tgen
+G11x2y7 ::G11x2y7(){ note_ctor("G11x2y7", this);} // tgen
+
+static void Test_G11x2y7()
+{
+ extern Class_Descriptor cd_G11x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x2y7, buf);
+ G11x2y7 *dp, &lv = *(dp=new (buf) G11x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x2y7)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x2*), ABISELECT(32,20), "G11x2y7");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x2*), ABISELECT(44,28), "G11x2y7");
+ check_base_class_offset(lv, (C11*)(E11x2*), ABISELECT(16,8), "G11x2y7");
+ check_base_class_offset(lv, (D1*)(E11x2*), ABISELECT(48,32), "G11x2y7");
+ check_base_class_offset(lv, (E11x2*), ABISELECT(16,8), "G11x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G11x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x2y7.ff");
+ test_class_info(&lv, &cd_G11x2y7);
+ dp->~G11x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x2y7(Test_G11x2y7, "G11x2y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x2y7C1Ev();
+extern void _ZN7G11x2y7D1Ev();
+Name_Map name_map_G11x2y7[] = {
+ NSPAIR(_ZN7G11x2y7C1Ev),
+ NSPAIR(_ZN7G11x2y7D1Ev),
+ {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_E11x2;
+extern VTBL_ENTRY _ZTI5E11x2[];
+extern VTBL_ENTRY _ZTV5E11x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x2, ABISELECT(16,8), //bcp->offset
+ 7, //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(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 _ZTI7G11x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x2y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x2y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x2y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x2y7[];
+static VTBL_ENTRY _tg__ZTV5E11x2__7G11x2y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x2__7G11x2y7[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x2__7G11x2y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x2__7G11x2y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x2__7G11x2y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G11x2y7[] = {
+ {&(_ZTV7G11x2y7[7]), 7,20},
+ {&(_ZTV7G11x2y7[12]), 12,20},
+ {&(_ZTV7G11x2y7[15]), 15,20},
+ {&(_ZTV7G11x2y7[19]), 19,20},
+ {&(_tg__ZTV5E11x2__7G11x2y7[5]), 5,5},
+ {&(_tg__ZTV3C115E11x2__7G11x2y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x2__7G11x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x2__7G11x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x2__7G11x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x2y7[];
+extern VTBL_ENTRY _ZTV7G11x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x2y7[];
+Class_Descriptor cd_G11x2y7 = { "G11x2y7", // class name
+ bases_G11x2y7, 6,
+ &(vtc_G11x2y7[0]), // expected_vtbl_contents
+ &(vtt_G11x2y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x2y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x2y7),9, //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 E12x2 : C12 , virtual D1 {
+ int fd;
+ ~E12x2(); // tgen
+ E12x2(); // tgen
+};
+//SIG(-1 E12x2) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E12x2 ::~E12x2(){ note_dtor("E12x2", this);} // tgen
+E12x2 ::E12x2(){ note_ctor("E12x2", this);} // tgen
+
+static void Test_E12x2()
+{
+ extern Class_Descriptor cd_E12x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E12x2, buf);
+ E12x2 *dp, &lv = *(dp=new (buf) E12x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E12x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x2)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(8,4), "E12x2");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(24,16), "E12x2");
+ check_base_class_offset(lv, (C12*), 0, "E12x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E12x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E12x2.fd");
+ test_class_info(&lv, &cd_E12x2);
+ dp->~E12x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x2(Test_E12x2, "E12x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x2C1Ev();
+extern void _ZN5E12x2D1Ev();
+Name_Map name_map_E12x2[] = {
+ NSPAIR(_ZN5E12x2C1Ev),
+ NSPAIR(_ZN5E12x2D1Ev),
+ {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_E12x2[] = {
+ // 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(24,16), //bcp->offset
+ 4, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E12x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x2[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x2[] = {
+ {&(_ZTV5E12x2[4]), 4,12},
+ {&(_tg__ZTV3C12__5E12x2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x2[3]), 3,4},
+ {&(_ZTV5E12x2[7]), 7,12},
+ {&(_ZTV5E12x2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+Class_Descriptor cd_E12x2 = { "E12x2", // class name
+ bases_E12x2, 4,
+ &(vtc_E12x2[0]), // expected_vtbl_contents
+ &(vtt_E12x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E12x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x2),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 G12x2y0 : E12x2 , F1 {
+ int ff;
+ ~G12x2y0(); // tgen
+ G12x2y0(); // tgen
+};
+//SIG(1 G12x2y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x2y0 ::~G12x2y0(){ note_dtor("G12x2y0", this);} // tgen
+G12x2y0 ::G12x2y0(){ note_ctor("G12x2y0", this);} // tgen
+
+static void Test_G12x2y0()
+{
+ extern Class_Descriptor cd_G12x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x2y0, buf);
+ G12x2y0 *dp, &lv = *(dp=new (buf) G12x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y0)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(8,4), "G12x2y0");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(40,28), "G12x2y0");
+ check_base_class_offset(lv, (C12*)(E12x2*), 0, "G12x2y0");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(56,36), "G12x2y0");
+ check_base_class_offset(lv, (E12x2*), 0, "G12x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G12x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G12x2y0.ff");
+ test_class_info(&lv, &cd_G12x2y0);
+ dp->~G12x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y0(Test_G12x2y0, "G12x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y0C1Ev();
+extern void _ZN7G12x2y0D1Ev();
+Name_Map name_map_G12x2y0[] = {
+ NSPAIR(_ZN7G12x2y0C1Ev),
+ NSPAIR(_ZN7G12x2y0D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x2y0[] = {
+ // 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
+ 7, //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
+ 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(56,36), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y0[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y0[] = {
+ {&(_ZTV7G12x2y0[4]), 4,15},
+ {&(_tg__ZTV5E12x2__7G12x2y0[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y0[3]), 3,4},
+ {&(_ZTV7G12x2y0[10]), 10,15},
+ {&(_ZTV7G12x2y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G12x2y0[];
+extern VTBL_ENTRY _ZTV7G12x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y0[];
+Class_Descriptor cd_G12x2y0 = { "G12x2y0", // class name
+ bases_G12x2y0, 6,
+ &(vtc_G12x2y0[0]), // expected_vtbl_contents
+ &(vtt_G12x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y0),8, //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 G12x2y1 : virtual E12x2 , F1 {
+ int ff;
+ ~G12x2y1(); // tgen
+ G12x2y1(); // tgen
+};
+//SIG(1 G12x2y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x2y1 ::~G12x2y1(){ note_dtor("G12x2y1", this);} // tgen
+G12x2y1 ::G12x2y1(){ note_ctor("G12x2y1", this);} // tgen
+
+static void Test_G12x2y1()
+{
+ extern Class_Descriptor cd_G12x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x2y1, buf);
+ G12x2y1 *dp, &lv = *(dp=new (buf) G12x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y1)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(24,16), "G12x2y1");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(40,28), "G12x2y1");
+ check_base_class_offset(lv, (C12*)(E12x2*), ABISELECT(16,12), "G12x2y1");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(56,36), "G12x2y1");
+ check_base_class_offset(lv, (E12x2*), ABISELECT(16,12), "G12x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x2y1.ff");
+ test_class_info(&lv, &cd_G12x2y1);
+ dp->~G12x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y1(Test_G12x2y1, "G12x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y1C1Ev();
+extern void _ZN7G12x2y1D1Ev();
+Name_Map name_map_G12x2y1[] = {
+ NSPAIR(_ZN7G12x2y1C1Ev),
+ NSPAIR(_ZN7G12x2y1D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x2y1[] = {
+ // 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(40,28), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI7G12x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x2y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y1[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y1[] = {
+ {&(_ZTV7G12x2y1[5]), 5,18},
+ {&(_ZTV7G12x2y1[10]), 10,18},
+ {&(_ZTV7G12x2y1[13]), 13,18},
+ {&(_ZTV7G12x2y1[17]), 17,18},
+ {&(_tg__ZTV5E12x2__7G12x2y1[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x2y1[];
+extern VTBL_ENTRY _ZTV7G12x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y1[];
+Class_Descriptor cd_G12x2y1 = { "G12x2y1", // class name
+ bases_G12x2y1, 6,
+ &(vtc_G12x2y1[0]), // expected_vtbl_contents
+ &(vtt_G12x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y1),9, //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 G12x2y2 : E12x2 , virtual F1 {
+ int ff;
+ ~G12x2y2(); // tgen
+ G12x2y2(); // tgen
+};
+//SIG(1 G12x2y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x2y2 ::~G12x2y2(){ note_dtor("G12x2y2", this);} // tgen
+G12x2y2 ::G12x2y2(){ note_ctor("G12x2y2", this);} // tgen
+
+static void Test_G12x2y2()
+{
+ extern Class_Descriptor cd_G12x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x2y2, buf);
+ G12x2y2 *dp, &lv = *(dp=new (buf) G12x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y2)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(8,4), "G12x2y2");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(24,20), "G12x2y2");
+ check_base_class_offset(lv, (C12*)(E12x2*), 0, "G12x2y2");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(40,28), "G12x2y2");
+ check_base_class_offset(lv, (E12x2*), 0, "G12x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x2y2.ff");
+ test_class_info(&lv, &cd_G12x2y2);
+ dp->~G12x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y2(Test_G12x2y2, "G12x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y2C1Ev();
+extern void _ZN7G12x2y2D1Ev();
+Name_Map name_map_G12x2y2[] = {
+ NSPAIR(_ZN7G12x2y2C1Ev),
+ NSPAIR(_ZN7G12x2y2D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x2y2[] = {
+ // 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(24,20), //bcp->offset
+ 5, //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, 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)
+ 9, //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 _ZTI7G12x2y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y2[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y2[] = {
+ {&(_ZTV7G12x2y2[5]), 5,17},
+ {&(_tg__ZTV5E12x2__7G12x2y2[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y2[3]), 3,4},
+ {&(_ZTV7G12x2y2[8]), 8,17},
+ {&(_ZTV7G12x2y2[12]), 12,17},
+ {&(_ZTV7G12x2y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G12x2y2[];
+extern VTBL_ENTRY _ZTV7G12x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y2[];
+Class_Descriptor cd_G12x2y2 = { "G12x2y2", // class name
+ bases_G12x2y2, 6,
+ &(vtc_G12x2y2[0]), // expected_vtbl_contents
+ &(vtt_G12x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y2),9, //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 G12x2y3 : virtual E12x2 , virtual F1 {
+ int ff;
+ ~G12x2y3(); // tgen
+ G12x2y3(); // tgen
+};
+//SIG(1 G12x2y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x2y3 ::~G12x2y3(){ note_dtor("G12x2y3", this);} // tgen
+G12x2y3 ::G12x2y3(){ note_ctor("G12x2y3", this);} // tgen
+
+static void Test_G12x2y3()
+{
+ extern Class_Descriptor cd_G12x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G12x2y3, buf);
+ G12x2y3 *dp, &lv = *(dp=new (buf) G12x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G12x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y3)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(24,12), "G12x2y3");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(40,24), "G12x2y3");
+ check_base_class_offset(lv, (C12*)(E12x2*), ABISELECT(16,8), "G12x2y3");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(56,32), "G12x2y3");
+ check_base_class_offset(lv, (E12x2*), ABISELECT(16,8), "G12x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G12x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x2y3.ff");
+ test_class_info(&lv, &cd_G12x2y3);
+ dp->~G12x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y3(Test_G12x2y3, "G12x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y3C1Ev();
+extern void _ZN7G12x2y3D1Ev();
+Name_Map name_map_G12x2y3[] = {
+ NSPAIR(_ZN7G12x2y3C1Ev),
+ NSPAIR(_ZN7G12x2y3D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x2y3[] = {
+ // 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(40,24), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI7G12x2y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x2y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y3[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y3[] = {
+ {&(_ZTV7G12x2y3[6]), 6,22},
+ {&(_ZTV7G12x2y3[10]), 10,22},
+ {&(_ZTV7G12x2y3[13]), 13,22},
+ {&(_ZTV7G12x2y3[17]), 17,22},
+ {&(_ZTV7G12x2y3[21]), 21,22},
+ {&(_tg__ZTV5E12x2__7G12x2y3[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x2y3[];
+extern VTBL_ENTRY _ZTV7G12x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y3[];
+Class_Descriptor cd_G12x2y3 = { "G12x2y3", // class name
+ bases_G12x2y3, 6,
+ &(vtc_G12x2y3[0]), // expected_vtbl_contents
+ &(vtt_G12x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G12x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y3),10, //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 G12x2y4 : E12x2 , F0 {
+ int ff;
+ ~G12x2y4(); // tgen
+ G12x2y4(); // tgen
+};
+//SIG(1 G12x2y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x2y4 ::~G12x2y4(){ note_dtor("G12x2y4", this);} // tgen
+G12x2y4 ::G12x2y4(){ note_ctor("G12x2y4", this);} // tgen
+
+static void Test_G12x2y4()
+{
+ extern Class_Descriptor cd_G12x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G12x2y4, buf);
+ G12x2y4 *dp, &lv = *(dp=new (buf) G12x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G12x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y4)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(8,4), "G12x2y4");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(32,24), "G12x2y4");
+ check_base_class_offset(lv, (C12*)(E12x2*), 0, "G12x2y4");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(48,32), "G12x2y4");
+ check_base_class_offset(lv, (E12x2*), 0, "G12x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G12x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G12x2y4.ff");
+ test_class_info(&lv, &cd_G12x2y4);
+ dp->~G12x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y4(Test_G12x2y4, "G12x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y4C1Ev();
+extern void _ZN7G12x2y4D1Ev();
+Name_Map name_map_G12x2y4[] = {
+ NSPAIR(_ZN7G12x2y4C1Ev),
+ NSPAIR(_ZN7G12x2y4D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x2y4[] = {
+ // 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
+ 4, //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
+ 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(48,32), //bcp->offset
+ 8, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x2y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y4[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y4[] = {
+ {&(_ZTV7G12x2y4[4]), 4,12},
+ {&(_tg__ZTV5E12x2__7G12x2y4[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y4[3]), 3,4},
+ {&(_ZTV7G12x2y4[7]), 7,12},
+ {&(_ZTV7G12x2y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G12x2y4[];
+extern VTBL_ENTRY _ZTV7G12x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y4[];
+Class_Descriptor cd_G12x2y4 = { "G12x2y4", // class name
+ bases_G12x2y4, 6,
+ &(vtc_G12x2y4[0]), // expected_vtbl_contents
+ &(vtt_G12x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G12x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y4),8, //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 G12x2y5 : virtual E12x2 , F0 {
+ int ff;
+ ~G12x2y5(); // tgen
+ G12x2y5(); // tgen
+};
+//SIG(1 G12x2y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x2y5 ::~G12x2y5(){ note_dtor("G12x2y5", this);} // tgen
+G12x2y5 ::G12x2y5(){ note_ctor("G12x2y5", this);} // tgen
+
+static void Test_G12x2y5()
+{
+ extern Class_Descriptor cd_G12x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x2y5, buf);
+ G12x2y5 *dp, &lv = *(dp=new (buf) G12x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y5)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(24,16), "G12x2y5");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(40,28), "G12x2y5");
+ check_base_class_offset(lv, (C12*)(E12x2*), ABISELECT(16,12), "G12x2y5");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(56,36), "G12x2y5");
+ check_base_class_offset(lv, (E12x2*), ABISELECT(16,12), "G12x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x2y5.ff");
+ test_class_info(&lv, &cd_G12x2y5);
+ dp->~G12x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y5(Test_G12x2y5, "G12x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y5C1Ev();
+extern void _ZN7G12x2y5D1Ev();
+Name_Map name_map_G12x2y5[] = {
+ NSPAIR(_ZN7G12x2y5C1Ev),
+ NSPAIR(_ZN7G12x2y5D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x2y5[] = {
+ // 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(40,28), //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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, 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_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 _ZTI7G12x2y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x2y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y5[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y5[] = {
+ {&(_ZTV7G12x2y5[5]), 5,17},
+ {&(_ZTV7G12x2y5[9]), 9,17},
+ {&(_ZTV7G12x2y5[12]), 12,17},
+ {&(_ZTV7G12x2y5[16]), 16,17},
+ {&(_tg__ZTV5E12x2__7G12x2y5[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x2y5[];
+extern VTBL_ENTRY _ZTV7G12x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y5[];
+Class_Descriptor cd_G12x2y5 = { "G12x2y5", // class name
+ bases_G12x2y5, 6,
+ &(vtc_G12x2y5[0]), // expected_vtbl_contents
+ &(vtt_G12x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y5),9, //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 G12x2y6 : E12x2 , virtual F0 {
+ int ff;
+ ~G12x2y6(); // tgen
+ G12x2y6(); // tgen
+};
+//SIG(1 G12x2y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x2y6 ::~G12x2y6(){ note_dtor("G12x2y6", this);} // tgen
+G12x2y6 ::G12x2y6(){ note_ctor("G12x2y6", this);} // tgen
+
+static void Test_G12x2y6()
+{
+ extern Class_Descriptor cd_G12x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x2y6, buf);
+ G12x2y6 *dp, &lv = *(dp=new (buf) G12x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y6)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(8,4), "G12x2y6");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(24,20), "G12x2y6");
+ check_base_class_offset(lv, (C12*)(E12x2*), 0, "G12x2y6");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(40,28), "G12x2y6");
+ check_base_class_offset(lv, (E12x2*), 0, "G12x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x2y6.ff");
+ test_class_info(&lv, &cd_G12x2y6);
+ dp->~G12x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y6(Test_G12x2y6, "G12x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y6C1Ev();
+extern void _ZN7G12x2y6D1Ev();
+Name_Map name_map_G12x2y6[] = {
+ NSPAIR(_ZN7G12x2y6C1Ev),
+ NSPAIR(_ZN7G12x2y6D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x2y6[] = {
+ // 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(24,20), //bcp->offset
+ 5, //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
+ 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(40,28), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, 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 _ZTI7G12x2y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y6[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y6[] = {
+ {&(_ZTV7G12x2y6[5]), 5,13},
+ {&(_tg__ZTV5E12x2__7G12x2y6[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y6[3]), 3,4},
+ {&(_ZTV7G12x2y6[8]), 8,13},
+ {&(_ZTV7G12x2y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G12x2y6[];
+extern VTBL_ENTRY _ZTV7G12x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y6[];
+Class_Descriptor cd_G12x2y6 = { "G12x2y6", // class name
+ bases_G12x2y6, 6,
+ &(vtc_G12x2y6[0]), // expected_vtbl_contents
+ &(vtt_G12x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y6),8, //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 G12x2y7 : virtual E12x2 , virtual F0 {
+ int ff;
+ ~G12x2y7(); // tgen
+ G12x2y7(); // tgen
+};
+//SIG(1 G12x2y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x2y7 ::~G12x2y7(){ note_dtor("G12x2y7", this);} // tgen
+G12x2y7 ::G12x2y7(){ note_ctor("G12x2y7", this);} // tgen
+
+static void Test_G12x2y7()
+{
+ extern Class_Descriptor cd_G12x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x2y7, buf);
+ G12x2y7 *dp, &lv = *(dp=new (buf) G12x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x2y7)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x2*), ABISELECT(24,12), "G12x2y7");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x2*), ABISELECT(40,24), "G12x2y7");
+ check_base_class_offset(lv, (C12*)(E12x2*), ABISELECT(16,8), "G12x2y7");
+ check_base_class_offset(lv, (D1*)(E12x2*), ABISELECT(56,32), "G12x2y7");
+ check_base_class_offset(lv, (E12x2*), ABISELECT(16,8), "G12x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G12x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x2y7.ff");
+ test_class_info(&lv, &cd_G12x2y7);
+ dp->~G12x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x2y7(Test_G12x2y7, "G12x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x2y7C1Ev();
+extern void _ZN7G12x2y7D1Ev();
+Name_Map name_map_G12x2y7[] = {
+ NSPAIR(_ZN7G12x2y7C1Ev),
+ NSPAIR(_ZN7G12x2y7D1Ev),
+ {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_E12x2;
+extern VTBL_ENTRY _ZTI5E12x2[];
+extern VTBL_ENTRY _ZTV5E12x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x2y7[] = {
+ // 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(40,24), //bcp->offset
+ 10, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x2, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI7G12x2y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x2y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x2y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x2y7[];
+static VTBL_ENTRY _tg__ZTV5E12x2__7G12x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x2__7G12x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x2__7G12x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x2__7G12x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x2__7G12x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G12x2y7[] = {
+ {&(_ZTV7G12x2y7[6]), 6,18},
+ {&(_ZTV7G12x2y7[10]), 10,18},
+ {&(_ZTV7G12x2y7[13]), 13,18},
+ {&(_ZTV7G12x2y7[17]), 17,18},
+ {&(_tg__ZTV5E12x2__7G12x2y7[4]), 4,4},
+ {&(_tg__ZTV3C125E12x2__7G12x2y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x2__7G12x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x2__7G12x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x2__7G12x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x2y7[];
+extern VTBL_ENTRY _ZTV7G12x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x2y7[];
+Class_Descriptor cd_G12x2y7 = { "G12x2y7", // class name
+ bases_G12x2y7, 6,
+ &(vtc_G12x2y7[0]), // expected_vtbl_contents
+ &(vtt_G12x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x2y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x2y7),9, //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 E13x2 : C13 , virtual D1 {
+ int fd;
+ ~E13x2(); // tgen
+ E13x2(); // tgen
+};
+//SIG(-1 E13x2) C1{ BC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E13x2 ::~E13x2(){ note_dtor("E13x2", this);} // tgen
+E13x2 ::E13x2(){ note_ctor("E13x2", this);} // tgen
+
+static void Test_E13x2()
+{
+ extern Class_Descriptor cd_E13x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E13x2, buf);
+ E13x2 *dp, &lv = *(dp=new (buf) E13x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E13x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x2)");
+ check_base_class_offset(lv, (A1*)(C13*), 0, "E13x2");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(24,16), "E13x2");
+ check_base_class_offset(lv, (C13*), 0, "E13x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E13x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E13x2.fd");
+ test_class_info(&lv, &cd_E13x2);
+ dp->~E13x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x2(Test_E13x2, "E13x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x2C1Ev();
+extern void _ZN5E13x2D1Ev();
+Name_Map name_map_E13x2[] = {
+ NSPAIR(_ZN5E13x2C1Ev),
+ NSPAIR(_ZN5E13x2D1Ev),
+ {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_E13x2[] = {
+ // 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(24,16), //bcp->offset
+ 5, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E13x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x2[] = {
+ {&(_ZTV5E13x2[4]), 4,13},
+ {&(_tg__ZTV3C13__5E13x2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x2[3]), 3,4},
+ {&(_ZTV5E13x2[8]), 8,13},
+ {&(_ZTV5E13x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+Class_Descriptor cd_E13x2 = { "E13x2", // class name
+ bases_E13x2, 4,
+ &(vtc_E13x2[0]), // expected_vtbl_contents
+ &(vtt_E13x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E13x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x2),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 G13x2y0 : E13x2 , F1 {
+ int ff;
+ ~G13x2y0(); // tgen
+ G13x2y0(); // tgen
+};
+//SIG(1 G13x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x2y0 ::~G13x2y0(){ note_dtor("G13x2y0", this);} // tgen
+G13x2y0 ::G13x2y0(){ note_ctor("G13x2y0", this);} // tgen
+
+static void Test_G13x2y0()
+{
+ extern Class_Descriptor cd_G13x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x2y0, buf);
+ G13x2y0 *dp, &lv = *(dp=new (buf) G13x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y0)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), 0, "G13x2y0");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(40,28), "G13x2y0");
+ check_base_class_offset(lv, (C13*)(E13x2*), 0, "G13x2y0");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(56,36), "G13x2y0");
+ check_base_class_offset(lv, (E13x2*), 0, "G13x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G13x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G13x2y0.ff");
+ test_class_info(&lv, &cd_G13x2y0);
+ dp->~G13x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y0(Test_G13x2y0, "G13x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y0C1Ev();
+extern void _ZN7G13x2y0D1Ev();
+Name_Map name_map_G13x2y0[] = {
+ NSPAIR(_ZN7G13x2y0C1Ev),
+ NSPAIR(_ZN7G13x2y0D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x2y0[] = {
+ // 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)
+ 7, //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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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(24,16), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x2y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y0[] = {
+ {&(_ZTV7G13x2y0[4]), 4,16},
+ {&(_tg__ZTV5E13x2__7G13x2y0[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y0[3]), 3,4},
+ {&(_ZTV7G13x2y0[11]), 11,16},
+ {&(_ZTV7G13x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G13x2y0[];
+extern VTBL_ENTRY _ZTV7G13x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y0[];
+Class_Descriptor cd_G13x2y0 = { "G13x2y0", // class name
+ bases_G13x2y0, 6,
+ &(vtc_G13x2y0[0]), // expected_vtbl_contents
+ &(vtt_G13x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y0),8, //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 G13x2y1 : virtual E13x2 , F1 {
+ int ff;
+ ~G13x2y1(); // tgen
+ G13x2y1(); // tgen
+};
+//SIG(1 G13x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x2y1 ::~G13x2y1(){ note_dtor("G13x2y1", this);} // tgen
+G13x2y1 ::G13x2y1(){ note_ctor("G13x2y1", this);} // tgen
+
+static void Test_G13x2y1()
+{
+ extern Class_Descriptor cd_G13x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x2y1, buf);
+ G13x2y1 *dp, &lv = *(dp=new (buf) G13x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y1)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), ABISELECT(16,12), "G13x2y1");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(40,28), "G13x2y1");
+ check_base_class_offset(lv, (C13*)(E13x2*), ABISELECT(16,12), "G13x2y1");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(56,36), "G13x2y1");
+ check_base_class_offset(lv, (E13x2*), ABISELECT(16,12), "G13x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x2y1.ff");
+ test_class_info(&lv, &cd_G13x2y1);
+ dp->~G13x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y1(Test_G13x2y1, "G13x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y1C1Ev();
+extern void _ZN7G13x2y1D1Ev();
+Name_Map name_map_G13x2y1[] = {
+ NSPAIR(_ZN7G13x2y1C1Ev),
+ NSPAIR(_ZN7G13x2y1D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x2y1[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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
+ 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 _ZTI7G13x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y1[] = {
+ {&(_ZTV7G13x2y1[5]), 5,20},
+ {&(_ZTV7G13x2y1[11]), 11,20},
+ {&(_ZTV7G13x2y1[15]), 15,20},
+ {&(_ZTV7G13x2y1[19]), 19,20},
+ {&(_tg__ZTV5E13x2__7G13x2y1[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x2y1[];
+extern VTBL_ENTRY _ZTV7G13x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y1[];
+Class_Descriptor cd_G13x2y1 = { "G13x2y1", // class name
+ bases_G13x2y1, 6,
+ &(vtc_G13x2y1[0]), // expected_vtbl_contents
+ &(vtt_G13x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y1),9, //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 G13x2y2 : E13x2 , virtual F1 {
+ int ff;
+ ~G13x2y2(); // tgen
+ G13x2y2(); // tgen
+};
+//SIG(1 G13x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x2y2 ::~G13x2y2(){ note_dtor("G13x2y2", this);} // tgen
+G13x2y2 ::G13x2y2(){ note_ctor("G13x2y2", this);} // tgen
+
+static void Test_G13x2y2()
+{
+ extern Class_Descriptor cd_G13x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x2y2, buf);
+ G13x2y2 *dp, &lv = *(dp=new (buf) G13x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y2)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), 0, "G13x2y2");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(24,20), "G13x2y2");
+ check_base_class_offset(lv, (C13*)(E13x2*), 0, "G13x2y2");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(40,28), "G13x2y2");
+ check_base_class_offset(lv, (E13x2*), 0, "G13x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x2y2.ff");
+ test_class_info(&lv, &cd_G13x2y2);
+ dp->~G13x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y2(Test_G13x2y2, "G13x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y2C1Ev();
+extern void _ZN7G13x2y2D1Ev();
+Name_Map name_map_G13x2y2[] = {
+ NSPAIR(_ZN7G13x2y2C1Ev),
+ NSPAIR(_ZN7G13x2y2D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x2y2[] = {
+ // 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
+ 4, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y2[] = {
+ {&(_ZTV7G13x2y2[5]), 5,18},
+ {&(_tg__ZTV5E13x2__7G13x2y2[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y2[3]), 3,4},
+ {&(_ZTV7G13x2y2[9]), 9,18},
+ {&(_ZTV7G13x2y2[13]), 13,18},
+ {&(_ZTV7G13x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G13x2y2[];
+extern VTBL_ENTRY _ZTV7G13x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y2[];
+Class_Descriptor cd_G13x2y2 = { "G13x2y2", // class name
+ bases_G13x2y2, 6,
+ &(vtc_G13x2y2[0]), // expected_vtbl_contents
+ &(vtt_G13x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y2),9, //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 G13x2y3 : virtual E13x2 , virtual F1 {
+ int ff;
+ ~G13x2y3(); // tgen
+ G13x2y3(); // tgen
+};
+//SIG(1 G13x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x2y3 ::~G13x2y3(){ note_dtor("G13x2y3", this);} // tgen
+G13x2y3 ::G13x2y3(){ note_ctor("G13x2y3", this);} // tgen
+
+static void Test_G13x2y3()
+{
+ extern Class_Descriptor cd_G13x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G13x2y3, buf);
+ G13x2y3 *dp, &lv = *(dp=new (buf) G13x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G13x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y3)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), ABISELECT(16,8), "G13x2y3");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(40,24), "G13x2y3");
+ check_base_class_offset(lv, (C13*)(E13x2*), ABISELECT(16,8), "G13x2y3");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(56,32), "G13x2y3");
+ check_base_class_offset(lv, (E13x2*), ABISELECT(16,8), "G13x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G13x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x2y3.ff");
+ test_class_info(&lv, &cd_G13x2y3);
+ dp->~G13x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y3(Test_G13x2y3, "G13x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y3C1Ev();
+extern void _ZN7G13x2y3D1Ev();
+Name_Map name_map_G13x2y3[] = {
+ NSPAIR(_ZN7G13x2y3C1Ev),
+ NSPAIR(_ZN7G13x2y3D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x2y3[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,24), //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,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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 20, //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 _ZTI7G13x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y3[] = {
+ {&(_ZTV7G13x2y3[6]), 6,24},
+ {&(_ZTV7G13x2y3[11]), 11,24},
+ {&(_ZTV7G13x2y3[15]), 15,24},
+ {&(_ZTV7G13x2y3[19]), 19,24},
+ {&(_ZTV7G13x2y3[23]), 23,24},
+ {&(_tg__ZTV5E13x2__7G13x2y3[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x2y3[];
+extern VTBL_ENTRY _ZTV7G13x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y3[];
+Class_Descriptor cd_G13x2y3 = { "G13x2y3", // class name
+ bases_G13x2y3, 6,
+ &(vtc_G13x2y3[0]), // expected_vtbl_contents
+ &(vtt_G13x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G13x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y3),10, //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 G13x2y4 : E13x2 , F0 {
+ int ff;
+ ~G13x2y4(); // tgen
+ G13x2y4(); // tgen
+};
+//SIG(1 G13x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x2y4 ::~G13x2y4(){ note_dtor("G13x2y4", this);} // tgen
+G13x2y4 ::G13x2y4(){ note_ctor("G13x2y4", this);} // tgen
+
+static void Test_G13x2y4()
+{
+ extern Class_Descriptor cd_G13x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G13x2y4, buf);
+ G13x2y4 *dp, &lv = *(dp=new (buf) G13x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G13x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y4)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), 0, "G13x2y4");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(32,24), "G13x2y4");
+ check_base_class_offset(lv, (C13*)(E13x2*), 0, "G13x2y4");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(48,32), "G13x2y4");
+ check_base_class_offset(lv, (E13x2*), 0, "G13x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G13x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G13x2y4.ff");
+ test_class_info(&lv, &cd_G13x2y4);
+ dp->~G13x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y4(Test_G13x2y4, "G13x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y4C1Ev();
+extern void _ZN7G13x2y4D1Ev();
+Name_Map name_map_G13x2y4[] = {
+ NSPAIR(_ZN7G13x2y4C1Ev),
+ NSPAIR(_ZN7G13x2y4D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x2y4[] = {
+ // 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(32,24), //bcp->offset
+ 5, //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
+ 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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_F0, ABISELECT(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y4[] = {
+ {&(_ZTV7G13x2y4[4]), 4,13},
+ {&(_tg__ZTV5E13x2__7G13x2y4[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y4[3]), 3,4},
+ {&(_ZTV7G13x2y4[8]), 8,13},
+ {&(_ZTV7G13x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G13x2y4[];
+extern VTBL_ENTRY _ZTV7G13x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y4[];
+Class_Descriptor cd_G13x2y4 = { "G13x2y4", // class name
+ bases_G13x2y4, 6,
+ &(vtc_G13x2y4[0]), // expected_vtbl_contents
+ &(vtt_G13x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G13x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y4),8, //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 G13x2y5 : virtual E13x2 , F0 {
+ int ff;
+ ~G13x2y5(); // tgen
+ G13x2y5(); // tgen
+};
+//SIG(1 G13x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x2y5 ::~G13x2y5(){ note_dtor("G13x2y5", this);} // tgen
+G13x2y5 ::G13x2y5(){ note_ctor("G13x2y5", this);} // tgen
+
+static void Test_G13x2y5()
+{
+ extern Class_Descriptor cd_G13x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x2y5, buf);
+ G13x2y5 *dp, &lv = *(dp=new (buf) G13x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y5)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), ABISELECT(16,12), "G13x2y5");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(40,28), "G13x2y5");
+ check_base_class_offset(lv, (C13*)(E13x2*), ABISELECT(16,12), "G13x2y5");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(56,36), "G13x2y5");
+ check_base_class_offset(lv, (E13x2*), ABISELECT(16,12), "G13x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x2y5.ff");
+ test_class_info(&lv, &cd_G13x2y5);
+ dp->~G13x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y5(Test_G13x2y5, "G13x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y5C1Ev();
+extern void _ZN7G13x2y5D1Ev();
+Name_Map name_map_G13x2y5[] = {
+ NSPAIR(_ZN7G13x2y5C1Ev),
+ NSPAIR(_ZN7G13x2y5D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x2y5[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 11, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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
+ 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 _ZTI7G13x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y5[] = {
+ {&(_ZTV7G13x2y5[5]), 5,19},
+ {&(_ZTV7G13x2y5[10]), 10,19},
+ {&(_ZTV7G13x2y5[14]), 14,19},
+ {&(_ZTV7G13x2y5[18]), 18,19},
+ {&(_tg__ZTV5E13x2__7G13x2y5[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x2y5[];
+extern VTBL_ENTRY _ZTV7G13x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y5[];
+Class_Descriptor cd_G13x2y5 = { "G13x2y5", // class name
+ bases_G13x2y5, 6,
+ &(vtc_G13x2y5[0]), // expected_vtbl_contents
+ &(vtt_G13x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y5),9, //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 G13x2y6 : E13x2 , virtual F0 {
+ int ff;
+ ~G13x2y6(); // tgen
+ G13x2y6(); // tgen
+};
+//SIG(1 G13x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x2y6 ::~G13x2y6(){ note_dtor("G13x2y6", this);} // tgen
+G13x2y6 ::G13x2y6(){ note_ctor("G13x2y6", this);} // tgen
+
+static void Test_G13x2y6()
+{
+ extern Class_Descriptor cd_G13x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x2y6, buf);
+ G13x2y6 *dp, &lv = *(dp=new (buf) G13x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y6)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), 0, "G13x2y6");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(24,20), "G13x2y6");
+ check_base_class_offset(lv, (C13*)(E13x2*), 0, "G13x2y6");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(40,28), "G13x2y6");
+ check_base_class_offset(lv, (E13x2*), 0, "G13x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x2y6.ff");
+ test_class_info(&lv, &cd_G13x2y6);
+ dp->~G13x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y6(Test_G13x2y6, "G13x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y6C1Ev();
+extern void _ZN7G13x2y6D1Ev();
+Name_Map name_map_G13x2y6[] = {
+ NSPAIR(_ZN7G13x2y6C1Ev),
+ NSPAIR(_ZN7G13x2y6D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x2y6[] = {
+ // 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(24,20), //bcp->offset
+ 6, //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
+ 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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_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 _ZTI7G13x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y6[] = {
+ {&(_ZTV7G13x2y6[5]), 5,14},
+ {&(_tg__ZTV5E13x2__7G13x2y6[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y6[3]), 3,4},
+ {&(_ZTV7G13x2y6[9]), 9,14},
+ {&(_ZTV7G13x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G13x2y6[];
+extern VTBL_ENTRY _ZTV7G13x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y6[];
+Class_Descriptor cd_G13x2y6 = { "G13x2y6", // class name
+ bases_G13x2y6, 6,
+ &(vtc_G13x2y6[0]), // expected_vtbl_contents
+ &(vtt_G13x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y6),8, //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 G13x2y7 : virtual E13x2 , virtual F0 {
+ int ff;
+ ~G13x2y7(); // tgen
+ G13x2y7(); // tgen
+};
+//SIG(1 G13x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x2y7 ::~G13x2y7(){ note_dtor("G13x2y7", this);} // tgen
+G13x2y7 ::G13x2y7(){ note_ctor("G13x2y7", this);} // tgen
+
+static void Test_G13x2y7()
+{
+ extern Class_Descriptor cd_G13x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x2y7, buf);
+ G13x2y7 *dp, &lv = *(dp=new (buf) G13x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x2y7)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x2*), ABISELECT(16,8), "G13x2y7");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x2*), ABISELECT(40,24), "G13x2y7");
+ check_base_class_offset(lv, (C13*)(E13x2*), ABISELECT(16,8), "G13x2y7");
+ check_base_class_offset(lv, (D1*)(E13x2*), ABISELECT(56,32), "G13x2y7");
+ check_base_class_offset(lv, (E13x2*), ABISELECT(16,8), "G13x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G13x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x2y7.ff");
+ test_class_info(&lv, &cd_G13x2y7);
+ dp->~G13x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x2y7(Test_G13x2y7, "G13x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x2y7C1Ev();
+extern void _ZN7G13x2y7D1Ev();
+Name_Map name_map_G13x2y7[] = {
+ NSPAIR(_ZN7G13x2y7C1Ev),
+ NSPAIR(_ZN7G13x2y7D1Ev),
+ {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_E13x2;
+extern VTBL_ENTRY _ZTI5E13x2[];
+extern VTBL_ENTRY _ZTV5E13x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x2y7[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,24), //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,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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x2, 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
+ 5, //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 _ZTI7G13x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x2y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x2__7G13x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x2__7G13x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x2__7G13x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x2__7G13x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x2__7G13x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G13x2y7[] = {
+ {&(_ZTV7G13x2y7[6]), 6,20},
+ {&(_ZTV7G13x2y7[11]), 11,20},
+ {&(_ZTV7G13x2y7[15]), 15,20},
+ {&(_ZTV7G13x2y7[19]), 19,20},
+ {&(_tg__ZTV5E13x2__7G13x2y7[4]), 4,5},
+ {&(_tg__ZTV3C135E13x2__7G13x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x2__7G13x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x2__7G13x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x2__7G13x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x2y7[];
+extern VTBL_ENTRY _ZTV7G13x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x2y7[];
+Class_Descriptor cd_G13x2y7 = { "G13x2y7", // class name
+ bases_G13x2y7, 6,
+ &(vtc_G13x2y7[0]), // expected_vtbl_contents
+ &(vtt_G13x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x2y7),9, //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 E14x2 : C14 , virtual D1 {
+ int fd;
+ ~E14x2(); // tgen
+ E14x2(); // tgen
+};
+//SIG(-1 E14x2) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E14x2 ::~E14x2(){ note_dtor("E14x2", this);} // tgen
+E14x2 ::E14x2(){ note_ctor("E14x2", this);} // tgen
+
+static void Test_E14x2()
+{
+ extern Class_Descriptor cd_E14x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E14x2, buf);
+ E14x2 *dp, &lv = *(dp=new (buf) E14x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E14x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x2)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(16,12), "E14x2");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(24,16), "E14x2");
+ check_base_class_offset(lv, (C14*), 0, "E14x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E14x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E14x2.fd");
+ test_class_info(&lv, &cd_E14x2);
+ dp->~E14x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x2(Test_E14x2, "E14x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x2C1Ev();
+extern void _ZN5E14x2D1Ev();
+Name_Map name_map_E14x2[] = {
+ NSPAIR(_ZN5E14x2C1Ev),
+ NSPAIR(_ZN5E14x2D1Ev),
+ {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_E14x2[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E14x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x2[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x2[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x2[] = {
+ {&(_ZTV5E14x2[5]), 5,13},
+ {&(_tg__ZTV3C14__5E14x2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x2[3]), 3,4},
+ {&(_ZTV5E14x2[8]), 8,13},
+ {&(_ZTV5E14x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+Class_Descriptor cd_E14x2 = { "E14x2", // class name
+ bases_E14x2, 4,
+ &(vtc_E14x2[0]), // expected_vtbl_contents
+ &(vtt_E14x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E14x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x2),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 G14x2y0 : E14x2 , F1 {
+ int ff;
+ ~G14x2y0(); // tgen
+ G14x2y0(); // tgen
+};
+//SIG(1 G14x2y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x2y0 ::~G14x2y0(){ note_dtor("G14x2y0", this);} // tgen
+G14x2y0 ::G14x2y0(){ note_ctor("G14x2y0", this);} // tgen
+
+static void Test_G14x2y0()
+{
+ extern Class_Descriptor cd_G14x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x2y0, buf);
+ G14x2y0 *dp, &lv = *(dp=new (buf) G14x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y0)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(32,24), "G14x2y0");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(40,28), "G14x2y0");
+ check_base_class_offset(lv, (C14*)(E14x2*), 0, "G14x2y0");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(56,36), "G14x2y0");
+ check_base_class_offset(lv, (E14x2*), 0, "G14x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G14x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G14x2y0.ff");
+ test_class_info(&lv, &cd_G14x2y0);
+ dp->~G14x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y0(Test_G14x2y0, "G14x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y0C1Ev();
+extern void _ZN7G14x2y0D1Ev();
+Name_Map name_map_G14x2y0[] = {
+ NSPAIR(_ZN7G14x2y0C1Ev),
+ NSPAIR(_ZN7G14x2y0D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x2y0[] = {
+ // 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, ABISELECT(40,28), //bcp->offset
+ 8, //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
+ 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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y0[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y0[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y0[] = {
+ {&(_ZTV7G14x2y0[5]), 5,16},
+ {&(_tg__ZTV5E14x2__7G14x2y0[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y0[3]), 3,4},
+ {&(_ZTV7G14x2y0[11]), 11,16},
+ {&(_ZTV7G14x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G14x2y0[];
+extern VTBL_ENTRY _ZTV7G14x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y0[];
+Class_Descriptor cd_G14x2y0 = { "G14x2y0", // class name
+ bases_G14x2y0, 6,
+ &(vtc_G14x2y0[0]), // expected_vtbl_contents
+ &(vtt_G14x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y0),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y0),8, //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 G14x2y1 : virtual E14x2 , F1 {
+ int ff;
+ ~G14x2y1(); // tgen
+ G14x2y1(); // tgen
+};
+//SIG(1 G14x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x2y1 ::~G14x2y1(){ note_dtor("G14x2y1", this);} // tgen
+G14x2y1 ::G14x2y1(){ note_ctor("G14x2y1", this);} // tgen
+
+static void Test_G14x2y1()
+{
+ extern Class_Descriptor cd_G14x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x2y1, buf);
+ G14x2y1 *dp, &lv = *(dp=new (buf) G14x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y1)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(32,24), "G14x2y1");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(40,28), "G14x2y1");
+ check_base_class_offset(lv, (C14*)(E14x2*), ABISELECT(16,12), "G14x2y1");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(56,36), "G14x2y1");
+ check_base_class_offset(lv, (E14x2*), ABISELECT(16,12), "G14x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x2y1.ff");
+ test_class_info(&lv, &cd_G14x2y1);
+ dp->~G14x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y1(Test_G14x2y1, "G14x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y1C1Ev();
+extern void _ZN7G14x2y1D1Ev();
+Name_Map name_map_G14x2y1[] = {
+ NSPAIR(_ZN7G14x2y1C1Ev),
+ NSPAIR(_ZN7G14x2y1D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x2y1[] = {
+ // 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, ABISELECT(40,28), //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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G14x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x2y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y1[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y1[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y1[] = {
+ {&(_ZTV7G14x2y1[6]), 6,20},
+ {&(_ZTV7G14x2y1[12]), 12,20},
+ {&(_ZTV7G14x2y1[15]), 15,20},
+ {&(_ZTV7G14x2y1[19]), 19,20},
+ {&(_tg__ZTV5E14x2__7G14x2y1[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x2y1[];
+extern VTBL_ENTRY _ZTV7G14x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y1[];
+Class_Descriptor cd_G14x2y1 = { "G14x2y1", // class name
+ bases_G14x2y1, 6,
+ &(vtc_G14x2y1[0]), // expected_vtbl_contents
+ &(vtt_G14x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y1),9, //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 G14x2y2 : E14x2 , virtual F1 {
+ int ff;
+ ~G14x2y2(); // tgen
+ G14x2y2(); // tgen
+};
+//SIG(1 G14x2y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x2y2 ::~G14x2y2(){ note_dtor("G14x2y2", this);} // tgen
+G14x2y2 ::G14x2y2(){ note_ctor("G14x2y2", this);} // tgen
+
+static void Test_G14x2y2()
+{
+ extern Class_Descriptor cd_G14x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x2y2, buf);
+ G14x2y2 *dp, &lv = *(dp=new (buf) G14x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y2)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(20,16), "G14x2y2");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(24,20), "G14x2y2");
+ check_base_class_offset(lv, (C14*)(E14x2*), 0, "G14x2y2");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(40,28), "G14x2y2");
+ check_base_class_offset(lv, (E14x2*), 0, "G14x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x2y2.ff");
+ test_class_info(&lv, &cd_G14x2y2);
+ dp->~G14x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y2(Test_G14x2y2, "G14x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y2C1Ev();
+extern void _ZN7G14x2y2D1Ev();
+Name_Map name_map_G14x2y2[] = {
+ NSPAIR(_ZN7G14x2y2C1Ev),
+ NSPAIR(_ZN7G14x2y2D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x2y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y2[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y2[] = {
+ {&(_ZTV7G14x2y2[6]), 6,18},
+ {&(_tg__ZTV5E14x2__7G14x2y2[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y2[3]), 3,4},
+ {&(_ZTV7G14x2y2[9]), 9,18},
+ {&(_ZTV7G14x2y2[13]), 13,18},
+ {&(_ZTV7G14x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G14x2y2[];
+extern VTBL_ENTRY _ZTV7G14x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y2[];
+Class_Descriptor cd_G14x2y2 = { "G14x2y2", // class name
+ bases_G14x2y2, 6,
+ &(vtc_G14x2y2[0]), // expected_vtbl_contents
+ &(vtt_G14x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y2),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y2),9, //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 G14x2y3 : virtual E14x2 , virtual F1 {
+ int ff;
+ ~G14x2y3(); // tgen
+ G14x2y3(); // tgen
+};
+//SIG(1 G14x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x2y3 ::~G14x2y3(){ note_dtor("G14x2y3", this);} // tgen
+G14x2y3 ::G14x2y3(){ note_ctor("G14x2y3", this);} // tgen
+
+static void Test_G14x2y3()
+{
+ extern Class_Descriptor cd_G14x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G14x2y3, buf);
+ G14x2y3 *dp, &lv = *(dp=new (buf) G14x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G14x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y3)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(32,20), "G14x2y3");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(40,24), "G14x2y3");
+ check_base_class_offset(lv, (C14*)(E14x2*), ABISELECT(16,8), "G14x2y3");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(56,32), "G14x2y3");
+ check_base_class_offset(lv, (E14x2*), ABISELECT(16,8), "G14x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G14x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x2y3.ff");
+ test_class_info(&lv, &cd_G14x2y3);
+ dp->~G14x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y3(Test_G14x2y3, "G14x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y3C1Ev();
+extern void _ZN7G14x2y3D1Ev();
+Name_Map name_map_G14x2y3[] = {
+ NSPAIR(_ZN7G14x2y3C1Ev),
+ NSPAIR(_ZN7G14x2y3D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x2y3[] = {
+ // 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
+ 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 20, //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 _ZTI7G14x2y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x2y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y3[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y3[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y3[] = {
+ {&(_ZTV7G14x2y3[7]), 7,24},
+ {&(_ZTV7G14x2y3[12]), 12,24},
+ {&(_ZTV7G14x2y3[15]), 15,24},
+ {&(_ZTV7G14x2y3[19]), 19,24},
+ {&(_ZTV7G14x2y3[23]), 23,24},
+ {&(_tg__ZTV5E14x2__7G14x2y3[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x2y3[];
+extern VTBL_ENTRY _ZTV7G14x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y3[];
+Class_Descriptor cd_G14x2y3 = { "G14x2y3", // class name
+ bases_G14x2y3, 6,
+ &(vtc_G14x2y3[0]), // expected_vtbl_contents
+ &(vtt_G14x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G14x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y3),10, //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 G14x2y4 : E14x2 , F0 {
+ int ff;
+ ~G14x2y4(); // tgen
+ G14x2y4(); // tgen
+};
+//SIG(1 G14x2y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x2y4 ::~G14x2y4(){ note_dtor("G14x2y4", this);} // tgen
+G14x2y4 ::G14x2y4(){ note_ctor("G14x2y4", this);} // tgen
+
+static void Test_G14x2y4()
+{
+ extern Class_Descriptor cd_G14x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x2y4, buf);
+ G14x2y4 *dp, &lv = *(dp=new (buf) G14x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y4)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(24,20), "G14x2y4");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(32,24), "G14x2y4");
+ check_base_class_offset(lv, (C14*)(E14x2*), 0, "G14x2y4");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(48,32), "G14x2y4");
+ check_base_class_offset(lv, (E14x2*), 0, "G14x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G14x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x2y4.ff");
+ test_class_info(&lv, &cd_G14x2y4);
+ dp->~G14x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y4(Test_G14x2y4, "G14x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y4C1Ev();
+extern void _ZN7G14x2y4D1Ev();
+Name_Map name_map_G14x2y4[] = {
+ NSPAIR(_ZN7G14x2y4C1Ev),
+ NSPAIR(_ZN7G14x2y4D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(32,24), //bcp->offset
+ 5, //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
+ 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x2y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y4[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y4[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y4[] = {
+ {&(_ZTV7G14x2y4[5]), 5,13},
+ {&(_tg__ZTV5E14x2__7G14x2y4[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y4[3]), 3,4},
+ {&(_ZTV7G14x2y4[8]), 8,13},
+ {&(_ZTV7G14x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G14x2y4[];
+extern VTBL_ENTRY _ZTV7G14x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y4[];
+Class_Descriptor cd_G14x2y4 = { "G14x2y4", // class name
+ bases_G14x2y4, 6,
+ &(vtc_G14x2y4[0]), // expected_vtbl_contents
+ &(vtt_G14x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y4),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y4),8, //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 G14x2y5 : virtual E14x2 , F0 {
+ int ff;
+ ~G14x2y5(); // tgen
+ G14x2y5(); // tgen
+};
+//SIG(1 G14x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x2y5 ::~G14x2y5(){ note_dtor("G14x2y5", this);} // tgen
+G14x2y5 ::G14x2y5(){ note_ctor("G14x2y5", this);} // tgen
+
+static void Test_G14x2y5()
+{
+ extern Class_Descriptor cd_G14x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x2y5, buf);
+ G14x2y5 *dp, &lv = *(dp=new (buf) G14x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y5)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(32,24), "G14x2y5");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(40,28), "G14x2y5");
+ check_base_class_offset(lv, (C14*)(E14x2*), ABISELECT(16,12), "G14x2y5");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(56,36), "G14x2y5");
+ check_base_class_offset(lv, (E14x2*), ABISELECT(16,12), "G14x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x2y5.ff");
+ test_class_info(&lv, &cd_G14x2y5);
+ dp->~G14x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y5(Test_G14x2y5, "G14x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y5C1Ev();
+extern void _ZN7G14x2y5D1Ev();
+Name_Map name_map_G14x2y5[] = {
+ NSPAIR(_ZN7G14x2y5C1Ev),
+ NSPAIR(_ZN7G14x2y5D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x2y5[] = {
+ // 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, ABISELECT(40,28), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, 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_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 _ZTI7G14x2y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x2y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y5[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y5[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y5[] = {
+ {&(_ZTV7G14x2y5[6]), 6,19},
+ {&(_ZTV7G14x2y5[11]), 11,19},
+ {&(_ZTV7G14x2y5[14]), 14,19},
+ {&(_ZTV7G14x2y5[18]), 18,19},
+ {&(_tg__ZTV5E14x2__7G14x2y5[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x2y5[];
+extern VTBL_ENTRY _ZTV7G14x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y5[];
+Class_Descriptor cd_G14x2y5 = { "G14x2y5", // class name
+ bases_G14x2y5, 6,
+ &(vtc_G14x2y5[0]), // expected_vtbl_contents
+ &(vtt_G14x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y5),9, //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 G14x2y6 : E14x2 , virtual F0 {
+ int ff;
+ ~G14x2y6(); // tgen
+ G14x2y6(); // tgen
+};
+//SIG(1 G14x2y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x2y6 ::~G14x2y6(){ note_dtor("G14x2y6", this);} // tgen
+G14x2y6 ::G14x2y6(){ note_ctor("G14x2y6", this);} // tgen
+
+static void Test_G14x2y6()
+{
+ extern Class_Descriptor cd_G14x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x2y6, buf);
+ G14x2y6 *dp, &lv = *(dp=new (buf) G14x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y6)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(20,16), "G14x2y6");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(24,20), "G14x2y6");
+ check_base_class_offset(lv, (C14*)(E14x2*), 0, "G14x2y6");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(40,28), "G14x2y6");
+ check_base_class_offset(lv, (E14x2*), 0, "G14x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x2y6.ff");
+ test_class_info(&lv, &cd_G14x2y6);
+ dp->~G14x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y6(Test_G14x2y6, "G14x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y6C1Ev();
+extern void _ZN7G14x2y6D1Ev();
+Name_Map name_map_G14x2y6[] = {
+ NSPAIR(_ZN7G14x2y6C1Ev),
+ NSPAIR(_ZN7G14x2y6D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G14x2y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y6[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y6[] = {
+ {&(_ZTV7G14x2y6[6]), 6,14},
+ {&(_tg__ZTV5E14x2__7G14x2y6[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y6[3]), 3,4},
+ {&(_ZTV7G14x2y6[9]), 9,14},
+ {&(_ZTV7G14x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G14x2y6[];
+extern VTBL_ENTRY _ZTV7G14x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y6[];
+Class_Descriptor cd_G14x2y6 = { "G14x2y6", // class name
+ bases_G14x2y6, 6,
+ &(vtc_G14x2y6[0]), // expected_vtbl_contents
+ &(vtt_G14x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y6),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y6),8, //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 G14x2y7 : virtual E14x2 , virtual F0 {
+ int ff;
+ ~G14x2y7(); // tgen
+ G14x2y7(); // tgen
+};
+//SIG(1 G14x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x2y7 ::~G14x2y7(){ note_dtor("G14x2y7", this);} // tgen
+G14x2y7 ::G14x2y7(){ note_ctor("G14x2y7", this);} // tgen
+
+static void Test_G14x2y7()
+{
+ extern Class_Descriptor cd_G14x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x2y7, buf);
+ G14x2y7 *dp, &lv = *(dp=new (buf) G14x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x2y7)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x2*), ABISELECT(32,20), "G14x2y7");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x2*), ABISELECT(40,24), "G14x2y7");
+ check_base_class_offset(lv, (C14*)(E14x2*), ABISELECT(16,8), "G14x2y7");
+ check_base_class_offset(lv, (D1*)(E14x2*), ABISELECT(56,32), "G14x2y7");
+ check_base_class_offset(lv, (E14x2*), ABISELECT(16,8), "G14x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G14x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x2y7.ff");
+ test_class_info(&lv, &cd_G14x2y7);
+ dp->~G14x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x2y7(Test_G14x2y7, "G14x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x2y7C1Ev();
+extern void _ZN7G14x2y7D1Ev();
+Name_Map name_map_G14x2y7[] = {
+ NSPAIR(_ZN7G14x2y7C1Ev),
+ NSPAIR(_ZN7G14x2y7D1Ev),
+ {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_E14x2;
+extern VTBL_ENTRY _ZTI5E14x2[];
+extern VTBL_ENTRY _ZTV5E14x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x2y7[] = {
+ // 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
+ 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_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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x2, ABISELECT(16,8), //bcp->offset
+ 7, //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 _ZTI7G14x2y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x2y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x2y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x2y7[];
+static VTBL_ENTRY _tg__ZTV5E14x2__7G14x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x2__7G14x2y7[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x2__7G14x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x2__7G14x2y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x2__7G14x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G14x2y7[] = {
+ {&(_ZTV7G14x2y7[7]), 7,20},
+ {&(_ZTV7G14x2y7[12]), 12,20},
+ {&(_ZTV7G14x2y7[15]), 15,20},
+ {&(_ZTV7G14x2y7[19]), 19,20},
+ {&(_tg__ZTV5E14x2__7G14x2y7[5]), 5,5},
+ {&(_tg__ZTV3C145E14x2__7G14x2y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x2__7G14x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x2__7G14x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x2__7G14x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x2y7[];
+extern VTBL_ENTRY _ZTV7G14x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x2y7[];
+Class_Descriptor cd_G14x2y7 = { "G14x2y7", // class name
+ bases_G14x2y7, 6,
+ &(vtc_G14x2y7[0]), // expected_vtbl_contents
+ &(vtt_G14x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x2y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x2y7),9, //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 E15x2 : C15 , virtual D1 {
+ int fd;
+ ~E15x2(); // tgen
+ E15x2(); // tgen
+};
+//SIG(-1 E15x2) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E15x2 ::~E15x2(){ note_dtor("E15x2", this);} // tgen
+E15x2 ::E15x2(){ note_ctor("E15x2", this);} // tgen
+
+static void Test_E15x2()
+{
+ extern Class_Descriptor cd_E15x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x2, buf);
+ E15x2 *dp, &lv = *(dp=new (buf) E15x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x2)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(16,12), "E15x2");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(32,20), "E15x2");
+ check_base_class_offset(lv, (C15*), 0, "E15x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E15x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E15x2.fd");
+ test_class_info(&lv, &cd_E15x2);
+ dp->~E15x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x2(Test_E15x2, "E15x2", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x2C1Ev();
+extern void _ZN5E15x2D1Ev();
+Name_Map name_map_E15x2[] = {
+ NSPAIR(_ZN5E15x2C1Ev),
+ NSPAIR(_ZN5E15x2D1Ev),
+ {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_E15x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //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(32,20), //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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D1, ABISELECT(48,28), //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E15x2[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x2[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x2[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x2[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x2[] = {
+ {&(_ZTV5E15x2[5]), 5,17},
+ {&(_tg__ZTV3C15__5E15x2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x2[3]), 3,4},
+ {&(_ZTV5E15x2[8]), 8,17},
+ {&(_ZTV5E15x2[12]), 12,17},
+ {&(_ZTV5E15x2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+Class_Descriptor cd_E15x2 = { "E15x2", // class name
+ bases_E15x2, 4,
+ &(vtc_E15x2[0]), // expected_vtbl_contents
+ &(vtt_E15x2[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x2),7, //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 G15x2y0 : E15x2 , F1 {
+ int ff;
+ ~G15x2y0(); // tgen
+ G15x2y0(); // tgen
+};
+//SIG(1 G15x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x2y0 ::~G15x2y0(){ note_dtor("G15x2y0", this);} // tgen
+G15x2y0 ::G15x2y0(){ note_ctor("G15x2y0", this);} // tgen
+
+static void Test_G15x2y0()
+{
+ extern Class_Descriptor cd_G15x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x2y0, buf);
+ G15x2y0 *dp, &lv = *(dp=new (buf) G15x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y0)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(32,24), "G15x2y0");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(48,32), "G15x2y0");
+ check_base_class_offset(lv, (C15*)(E15x2*), 0, "G15x2y0");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(64,40), "G15x2y0");
+ check_base_class_offset(lv, (E15x2*), 0, "G15x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G15x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G15x2y0.ff");
+ test_class_info(&lv, &cd_G15x2y0);
+ dp->~G15x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y0(Test_G15x2y0, "G15x2y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y0C1Ev();
+extern void _ZN7G15x2y0D1Ev();
+Name_Map name_map_G15x2y0[] = {
+ NSPAIR(_ZN7G15x2y0C1Ev),
+ NSPAIR(_ZN7G15x2y0D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x2y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 8, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 16, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x2y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x2y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x2y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y0[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y0[] = {
+ {&(_ZTV7G15x2y0[5]), 5,20},
+ {&(_tg__ZTV5E15x2__7G15x2y0[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y0[3]), 3,4},
+ {&(_ZTV7G15x2y0[11]), 11,20},
+ {&(_ZTV7G15x2y0[15]), 15,20},
+ {&(_ZTV7G15x2y0[19]), 19,20},
+};
+extern VTBL_ENTRY _ZTI7G15x2y0[];
+extern VTBL_ENTRY _ZTV7G15x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y0[];
+Class_Descriptor cd_G15x2y0 = { "G15x2y0", // class name
+ bases_G15x2y0, 6,
+ &(vtc_G15x2y0[0]), // expected_vtbl_contents
+ &(vtt_G15x2y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y0),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y0),11, //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 G15x2y1 : virtual E15x2 , F1 {
+ int ff;
+ ~G15x2y1(); // tgen
+ G15x2y1(); // tgen
+};
+//SIG(1 G15x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x2y1 ::~G15x2y1(){ note_dtor("G15x2y1", this);} // tgen
+G15x2y1 ::G15x2y1(){ note_ctor("G15x2y1", this);} // tgen
+
+static void Test_G15x2y1()
+{
+ extern Class_Descriptor cd_G15x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x2y1, buf);
+ G15x2y1 *dp, &lv = *(dp=new (buf) G15x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y1)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(32,24), "G15x2y1");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(48,32), "G15x2y1");
+ check_base_class_offset(lv, (C15*)(E15x2*), ABISELECT(16,12), "G15x2y1");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(64,40), "G15x2y1");
+ check_base_class_offset(lv, (E15x2*), ABISELECT(16,12), "G15x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x2y1.ff");
+ test_class_info(&lv, &cd_G15x2y1);
+ dp->~G15x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y1(Test_G15x2y1, "G15x2y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y1C1Ev();
+extern void _ZN7G15x2y1D1Ev();
+Name_Map name_map_G15x2y1[] = {
+ NSPAIR(_ZN7G15x2y1C1Ev),
+ NSPAIR(_ZN7G15x2y1D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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(48,32), //bcp->offset
+ 16, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G15x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x2y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x2y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x2y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y1[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y1[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y1[] = {
+ {&(_ZTV7G15x2y1[6]), 6,24},
+ {&(_ZTV7G15x2y1[12]), 12,24},
+ {&(_ZTV7G15x2y1[15]), 15,24},
+ {&(_ZTV7G15x2y1[19]), 19,24},
+ {&(_ZTV7G15x2y1[23]), 23,24},
+ {&(_tg__ZTV5E15x2__7G15x2y1[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x2y1[];
+extern VTBL_ENTRY _ZTV7G15x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y1[];
+Class_Descriptor cd_G15x2y1 = { "G15x2y1", // class name
+ bases_G15x2y1, 6,
+ &(vtc_G15x2y1[0]), // expected_vtbl_contents
+ &(vtt_G15x2y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y1),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y1),12, //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 G15x2y2 : E15x2 , virtual F1 {
+ int ff;
+ ~G15x2y2(); // tgen
+ G15x2y2(); // tgen
+};
+//SIG(1 G15x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x2y2 ::~G15x2y2(){ note_dtor("G15x2y2", this);} // tgen
+G15x2y2 ::G15x2y2(){ note_ctor("G15x2y2", this);} // tgen
+
+static void Test_G15x2y2()
+{
+ extern Class_Descriptor cd_G15x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x2y2, buf);
+ G15x2y2 *dp, &lv = *(dp=new (buf) G15x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y2)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(24,16), "G15x2y2");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(40,24), "G15x2y2");
+ check_base_class_offset(lv, (C15*)(E15x2*), 0, "G15x2y2");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(56,32), "G15x2y2");
+ check_base_class_offset(lv, (E15x2*), 0, "G15x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G15x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x2y2.ff");
+ test_class_info(&lv, &cd_G15x2y2);
+ dp->~G15x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y2(Test_G15x2y2, "G15x2y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y2C1Ev();
+extern void _ZN7G15x2y2D1Ev();
+Name_Map name_map_G15x2y2[] = {
+ NSPAIR(_ZN7G15x2y2C1Ev),
+ NSPAIR(_ZN7G15x2y2D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(72,40), //bcp->offset
+ 18, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 12, //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 _ZTI7G15x2y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x2y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x2y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x2y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y2[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y2[] = {
+ {&(_ZTV7G15x2y2[6]), 6,22},
+ {&(_tg__ZTV5E15x2__7G15x2y2[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y2[3]), 3,4},
+ {&(_ZTV7G15x2y2[9]), 9,22},
+ {&(_ZTV7G15x2y2[13]), 13,22},
+ {&(_ZTV7G15x2y2[17]), 17,22},
+ {&(_ZTV7G15x2y2[21]), 21,22},
+};
+extern VTBL_ENTRY _ZTI7G15x2y2[];
+extern VTBL_ENTRY _ZTV7G15x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y2[];
+Class_Descriptor cd_G15x2y2 = { "G15x2y2", // class name
+ bases_G15x2y2, 6,
+ &(vtc_G15x2y2[0]), // expected_vtbl_contents
+ &(vtt_G15x2y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y2),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y2),12, //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 G15x2y3 : virtual E15x2 , virtual F1 {
+ int ff;
+ ~G15x2y3(); // tgen
+ G15x2y3(); // tgen
+};
+//SIG(1 G15x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x2y3 ::~G15x2y3(){ note_dtor("G15x2y3", this);} // tgen
+G15x2y3 ::G15x2y3(){ note_ctor("G15x2y3", this);} // tgen
+
+static void Test_G15x2y3()
+{
+ extern Class_Descriptor cd_G15x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x2y3, buf);
+ G15x2y3 *dp, &lv = *(dp=new (buf) G15x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y3)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(32,20), "G15x2y3");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(48,28), "G15x2y3");
+ check_base_class_offset(lv, (C15*)(E15x2*), ABISELECT(16,8), "G15x2y3");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(64,36), "G15x2y3");
+ check_base_class_offset(lv, (E15x2*), ABISELECT(16,8), "G15x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x2y3.ff");
+ test_class_info(&lv, &cd_G15x2y3);
+ dp->~G15x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y3(Test_G15x2y3, "G15x2y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y3C1Ev();
+extern void _ZN7G15x2y3D1Ev();
+Name_Map name_map_G15x2y3[] = {
+ NSPAIR(_ZN7G15x2y3C1Ev),
+ NSPAIR(_ZN7G15x2y3D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(48,28), //bcp->offset
+ 16, //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,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 20, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 24, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x2y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x2y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y3[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y3[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y3[] = {
+ {&(_ZTV7G15x2y3[7]), 7,28},
+ {&(_ZTV7G15x2y3[12]), 12,28},
+ {&(_ZTV7G15x2y3[15]), 15,28},
+ {&(_ZTV7G15x2y3[19]), 19,28},
+ {&(_ZTV7G15x2y3[23]), 23,28},
+ {&(_ZTV7G15x2y3[27]), 27,28},
+ {&(_tg__ZTV5E15x2__7G15x2y3[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x2y3[];
+extern VTBL_ENTRY _ZTV7G15x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y3[];
+Class_Descriptor cd_G15x2y3 = { "G15x2y3", // class name
+ bases_G15x2y3, 6,
+ &(vtc_G15x2y3[0]), // expected_vtbl_contents
+ &(vtt_G15x2y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y3),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y3),13, //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 G15x2y4 : E15x2 , F0 {
+ int ff;
+ ~G15x2y4(); // tgen
+ G15x2y4(); // tgen
+};
+//SIG(1 G15x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x2y4 ::~G15x2y4(){ note_dtor("G15x2y4", this);} // tgen
+G15x2y4 ::G15x2y4(){ note_ctor("G15x2y4", this);} // tgen
+
+static void Test_G15x2y4()
+{
+ extern Class_Descriptor cd_G15x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x2y4, buf);
+ G15x2y4 *dp, &lv = *(dp=new (buf) G15x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y4)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(24,20), "G15x2y4");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(40,28), "G15x2y4");
+ check_base_class_offset(lv, (C15*)(E15x2*), 0, "G15x2y4");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(56,36), "G15x2y4");
+ check_base_class_offset(lv, (E15x2*), 0, "G15x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G15x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x2y4.ff");
+ test_class_info(&lv, &cd_G15x2y4);
+ dp->~G15x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y4(Test_G15x2y4, "G15x2y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y4C1Ev();
+extern void _ZN7G15x2y4D1Ev();
+Name_Map name_map_G15x2y4[] = {
+ NSPAIR(_ZN7G15x2y4C1Ev),
+ NSPAIR(_ZN7G15x2y4D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 5, //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
+ 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)
+ 10, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x2y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x2y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x2y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y4[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y4[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y4[] = {
+ {&(_ZTV7G15x2y4[5]), 5,17},
+ {&(_tg__ZTV5E15x2__7G15x2y4[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y4[3]), 3,4},
+ {&(_ZTV7G15x2y4[8]), 8,17},
+ {&(_ZTV7G15x2y4[12]), 12,17},
+ {&(_ZTV7G15x2y4[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G15x2y4[];
+extern VTBL_ENTRY _ZTV7G15x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y4[];
+Class_Descriptor cd_G15x2y4 = { "G15x2y4", // class name
+ bases_G15x2y4, 6,
+ &(vtc_G15x2y4[0]), // expected_vtbl_contents
+ &(vtt_G15x2y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y4),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y4),11, //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 G15x2y5 : virtual E15x2 , F0 {
+ int ff;
+ ~G15x2y5(); // tgen
+ G15x2y5(); // tgen
+};
+//SIG(1 G15x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x2y5 ::~G15x2y5(){ note_dtor("G15x2y5", this);} // tgen
+G15x2y5 ::G15x2y5(){ note_ctor("G15x2y5", this);} // tgen
+
+static void Test_G15x2y5()
+{
+ extern Class_Descriptor cd_G15x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x2y5, buf);
+ G15x2y5 *dp, &lv = *(dp=new (buf) G15x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y5)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(32,24), "G15x2y5");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(48,32), "G15x2y5");
+ check_base_class_offset(lv, (C15*)(E15x2*), ABISELECT(16,12), "G15x2y5");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(64,40), "G15x2y5");
+ check_base_class_offset(lv, (E15x2*), ABISELECT(16,12), "G15x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x2y5.ff");
+ test_class_info(&lv, &cd_G15x2y5);
+ dp->~G15x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y5(Test_G15x2y5, "G15x2y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y5C1Ev();
+extern void _ZN7G15x2y5D1Ev();
+Name_Map name_map_G15x2y5[] = {
+ NSPAIR(_ZN7G15x2y5C1Ev),
+ NSPAIR(_ZN7G15x2y5D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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(48,32), //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
+ 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, 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_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 _ZTI7G15x2y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x2y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x2y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x2y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y5[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y5[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y5[] = {
+ {&(_ZTV7G15x2y5[6]), 6,23},
+ {&(_ZTV7G15x2y5[11]), 11,23},
+ {&(_ZTV7G15x2y5[14]), 14,23},
+ {&(_ZTV7G15x2y5[18]), 18,23},
+ {&(_ZTV7G15x2y5[22]), 22,23},
+ {&(_tg__ZTV5E15x2__7G15x2y5[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x2y5[];
+extern VTBL_ENTRY _ZTV7G15x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y5[];
+Class_Descriptor cd_G15x2y5 = { "G15x2y5", // class name
+ bases_G15x2y5, 6,
+ &(vtc_G15x2y5[0]), // expected_vtbl_contents
+ &(vtt_G15x2y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y5),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y5),12, //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 G15x2y6 : E15x2 , virtual F0 {
+ int ff;
+ ~G15x2y6(); // tgen
+ G15x2y6(); // tgen
+};
+//SIG(1 G15x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x2y6 ::~G15x2y6(){ note_dtor("G15x2y6", this);} // tgen
+G15x2y6 ::G15x2y6(){ note_ctor("G15x2y6", this);} // tgen
+
+static void Test_G15x2y6()
+{
+ extern Class_Descriptor cd_G15x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x2y6, buf);
+ G15x2y6 *dp, &lv = *(dp=new (buf) G15x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y6)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(24,16), "G15x2y6");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(40,24), "G15x2y6");
+ check_base_class_offset(lv, (C15*)(E15x2*), 0, "G15x2y6");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(56,32), "G15x2y6");
+ check_base_class_offset(lv, (E15x2*), 0, "G15x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G15x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x2y6.ff");
+ test_class_info(&lv, &cd_G15x2y6);
+ dp->~G15x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y6(Test_G15x2y6, "G15x2y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y6C1Ev();
+extern void _ZN7G15x2y6D1Ev();
+Name_Map name_map_G15x2y6[] = {
+ NSPAIR(_ZN7G15x2y6C1Ev),
+ NSPAIR(_ZN7G15x2y6D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,24), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G15x2y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x2y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x2y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y6[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y6[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y6[] = {
+ {&(_ZTV7G15x2y6[6]), 6,18},
+ {&(_tg__ZTV5E15x2__7G15x2y6[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y6[3]), 3,4},
+ {&(_ZTV7G15x2y6[9]), 9,18},
+ {&(_ZTV7G15x2y6[13]), 13,18},
+ {&(_ZTV7G15x2y6[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G15x2y6[];
+extern VTBL_ENTRY _ZTV7G15x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y6[];
+Class_Descriptor cd_G15x2y6 = { "G15x2y6", // class name
+ bases_G15x2y6, 6,
+ &(vtc_G15x2y6[0]), // expected_vtbl_contents
+ &(vtt_G15x2y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y6),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y6),11, //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 G15x2y7 : virtual E15x2 , virtual F0 {
+ int ff;
+ ~G15x2y7(); // tgen
+ G15x2y7(); // tgen
+};
+//SIG(1 G15x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x2y7 ::~G15x2y7(){ note_dtor("G15x2y7", this);} // tgen
+G15x2y7 ::G15x2y7(){ note_ctor("G15x2y7", this);} // tgen
+
+static void Test_G15x2y7()
+{
+ extern Class_Descriptor cd_G15x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x2y7, buf);
+ G15x2y7 *dp, &lv = *(dp=new (buf) G15x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x2y7)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x2*), ABISELECT(32,20), "G15x2y7");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x2*), ABISELECT(48,28), "G15x2y7");
+ check_base_class_offset(lv, (C15*)(E15x2*), ABISELECT(16,8), "G15x2y7");
+ check_base_class_offset(lv, (D1*)(E15x2*), ABISELECT(64,36), "G15x2y7");
+ check_base_class_offset(lv, (E15x2*), ABISELECT(16,8), "G15x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G15x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x2y7.ff");
+ test_class_info(&lv, &cd_G15x2y7);
+ dp->~G15x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x2y7(Test_G15x2y7, "G15x2y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x2y7C1Ev();
+extern void _ZN7G15x2y7D1Ev();
+Name_Map name_map_G15x2y7[] = {
+ NSPAIR(_ZN7G15x2y7C1Ev),
+ NSPAIR(_ZN7G15x2y7D1Ev),
+ {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_E15x2;
+extern VTBL_ENTRY _ZTI5E15x2[];
+extern VTBL_ENTRY _ZTV5E15x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(48,28), //bcp->offset
+ 16, //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,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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 20, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x2, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G15x2y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x2y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x2y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x2y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x2y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x2y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x2y7[];
+static VTBL_ENTRY _tg__ZTV5E15x2__7G15x2y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x2__7G15x2y7[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x2__7G15x2y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x2__7G15x2y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x2__7G15x2y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x2__7G15x2y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x2__7G15x2y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G15x2y7[] = {
+ {&(_ZTV7G15x2y7[7]), 7,24},
+ {&(_ZTV7G15x2y7[12]), 12,24},
+ {&(_ZTV7G15x2y7[15]), 15,24},
+ {&(_ZTV7G15x2y7[19]), 19,24},
+ {&(_ZTV7G15x2y7[23]), 23,24},
+ {&(_tg__ZTV5E15x2__7G15x2y7[5]), 5,5},
+ {&(_tg__ZTV3C155E15x2__7G15x2y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x2__7G15x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x2__7G15x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x2__7G15x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x2__7G15x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x2__7G15x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x2y7[];
+extern VTBL_ENTRY _ZTV7G15x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x2y7[];
+Class_Descriptor cd_G15x2y7 = { "G15x2y7", // class name
+ bases_G15x2y7, 6,
+ &(vtc_G15x2y7[0]), // expected_vtbl_contents
+ &(vtt_G15x2y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x2y7),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x2y7),12, //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 E16x2 : C16 , virtual D1 {
+ int fd;
+ ~E16x2(); // tgen
+ E16x2(); // tgen
+};
+//SIG(-1 E16x2) C1{ BC2{ BC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E16x2 ::~E16x2(){ note_dtor("E16x2", this);} // tgen
+E16x2 ::E16x2(){ note_ctor("E16x2", this);} // tgen
+
+static void Test_E16x2()
+{
+ extern Class_Descriptor cd_E16x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E16x2, buf);
+ E16x2 *dp, &lv = *(dp=new (buf) E16x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E16x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x2)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(8,4), "E16x2");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(12,8), "E16x2");
+ check_base_class_offset(lv, (C16*), 0, "E16x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E16x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E16x2.fd");
+ test_class_info(&lv, &cd_E16x2);
+ dp->~E16x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x2(Test_E16x2, "E16x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E16x2C1Ev();
+extern void _ZN5E16x2D1Ev();
+Name_Map name_map_E16x2[] = {
+ NSPAIR(_ZN5E16x2C1Ev),
+ NSPAIR(_ZN5E16x2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E16x2[] = {
+ // 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(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_C16, 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,20), //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 _ZTI5E16x2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E16x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x2[];
+static VTT_ENTRY vtt_E16x2[] = {
+ {&(_ZTV5E16x2[3]), 3,8},
+ {&(_ZTV5E16x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+Class_Descriptor cd_E16x2 = { "E16x2", // class name
+ bases_E16x2, 4,
+ &(vtc_E16x2[0]), // expected_vtbl_contents
+ &(vtt_E16x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E16x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x2),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 G16x2y0 : E16x2 , F1 {
+ int ff;
+ ~G16x2y0(); // tgen
+ G16x2y0(); // tgen
+};
+//SIG(1 G16x2y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x2y0 ::~G16x2y0(){ note_dtor("G16x2y0", this);} // tgen
+G16x2y0 ::G16x2y0(){ note_ctor("G16x2y0", this);} // tgen
+
+static void Test_G16x2y0()
+{
+ extern Class_Descriptor cd_G16x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x2y0, buf);
+ G16x2y0 *dp, &lv = *(dp=new (buf) G16x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y0)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(8,4), "G16x2y0");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(12,8), "G16x2y0");
+ check_base_class_offset(lv, (C16*)(E16x2*), 0, "G16x2y0");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(40,32), "G16x2y0");
+ check_base_class_offset(lv, (E16x2*), 0, "G16x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G16x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G16x2y0.ff");
+ test_class_info(&lv, &cd_G16x2y0);
+ dp->~G16x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y0(Test_G16x2y0, "G16x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y0C1Ev();
+extern void _ZN7G16x2y0D1Ev();
+Name_Map name_map_G16x2y0[] = {
+ NSPAIR(_ZN7G16x2y0C1Ev),
+ NSPAIR(_ZN7G16x2y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x2y0[] = {
+ // 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(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_C16, 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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(24,20), //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 _ZTI7G16x2y0[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y0[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y0[] = {
+ {&(_ZTV7G16x2y0[3]), 3,11},
+ {&(_tg__ZTV5E16x2__7G16x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y0[3]), 3,4},
+ {&(_ZTV7G16x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x2y0[];
+extern VTBL_ENTRY _ZTV7G16x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y0[];
+Class_Descriptor cd_G16x2y0 = { "G16x2y0", // class name
+ bases_G16x2y0, 6,
+ &(vtc_G16x2y0[0]), // expected_vtbl_contents
+ &(vtt_G16x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y0),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 G16x2y1 : virtual E16x2 , F1 {
+ int ff;
+ ~G16x2y1(); // tgen
+ G16x2y1(); // tgen
+};
+//SIG(1 G16x2y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x2y1 ::~G16x2y1(){ note_dtor("G16x2y1", this);} // tgen
+G16x2y1 ::G16x2y1(){ note_ctor("G16x2y1", this);} // tgen
+
+static void Test_G16x2y1()
+{
+ extern Class_Descriptor cd_G16x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x2y1, buf);
+ G16x2y1 *dp, &lv = *(dp=new (buf) G16x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y1)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(24,16), "G16x2y1");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(28,20), "G16x2y1");
+ check_base_class_offset(lv, (C16*)(E16x2*), ABISELECT(16,12), "G16x2y1");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(40,32), "G16x2y1");
+ check_base_class_offset(lv, (E16x2*), ABISELECT(16,12), "G16x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x2y1.ff");
+ test_class_info(&lv, &cd_G16x2y1);
+ dp->~G16x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y1(Test_G16x2y1, "G16x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y1C1Ev();
+extern void _ZN7G16x2y1D1Ev();
+Name_Map name_map_G16x2y1[] = {
+ NSPAIR(_ZN7G16x2y1C1Ev),
+ NSPAIR(_ZN7G16x2y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x2y1[] = {
+ // 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(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_C16, 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,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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 _ZTI7G16x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y1[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y1[] = {
+ {&(_ZTV7G16x2y1[4]), 4,14},
+ {&(_ZTV7G16x2y1[9]), 9,14},
+ {&(_ZTV7G16x2y1[13]), 13,14},
+ {&(_tg__ZTV5E16x2__7G16x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x2y1[];
+extern VTBL_ENTRY _ZTV7G16x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y1[];
+Class_Descriptor cd_G16x2y1 = { "G16x2y1", // class name
+ bases_G16x2y1, 6,
+ &(vtc_G16x2y1[0]), // expected_vtbl_contents
+ &(vtt_G16x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y1),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 G16x2y2 : E16x2 , virtual F1 {
+ int ff;
+ ~G16x2y2(); // tgen
+ G16x2y2(); // tgen
+};
+//SIG(1 G16x2y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x2y2 ::~G16x2y2(){ note_dtor("G16x2y2", this);} // tgen
+G16x2y2 ::G16x2y2(){ note_ctor("G16x2y2", this);} // tgen
+
+static void Test_G16x2y2()
+{
+ extern Class_Descriptor cd_G16x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x2y2, buf);
+ G16x2y2 *dp, &lv = *(dp=new (buf) G16x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y2)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(8,4), "G16x2y2");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(12,8), "G16x2y2");
+ check_base_class_offset(lv, (C16*)(E16x2*), 0, "G16x2y2");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(32,24), "G16x2y2");
+ check_base_class_offset(lv, (E16x2*), 0, "G16x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G16x2y2.ff");
+ test_class_info(&lv, &cd_G16x2y2);
+ dp->~G16x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y2(Test_G16x2y2, "G16x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y2C1Ev();
+extern void _ZN7G16x2y2D1Ev();
+Name_Map name_map_G16x2y2[] = {
+ NSPAIR(_ZN7G16x2y2C1Ev),
+ NSPAIR(_ZN7G16x2y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x2y2[] = {
+ // 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(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_C16, 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,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x2y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y2[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y2[] = {
+ {&(_ZTV7G16x2y2[4]), 4,13},
+ {&(_tg__ZTV5E16x2__7G16x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y2[3]), 3,4},
+ {&(_ZTV7G16x2y2[8]), 8,13},
+ {&(_ZTV7G16x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G16x2y2[];
+extern VTBL_ENTRY _ZTV7G16x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y2[];
+Class_Descriptor cd_G16x2y2 = { "G16x2y2", // class name
+ bases_G16x2y2, 6,
+ &(vtc_G16x2y2[0]), // expected_vtbl_contents
+ &(vtt_G16x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y2),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 G16x2y3 : virtual E16x2 , virtual F1 {
+ int ff;
+ ~G16x2y3(); // tgen
+ G16x2y3(); // tgen
+};
+//SIG(1 G16x2y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x2y3 ::~G16x2y3(){ note_dtor("G16x2y3", this);} // tgen
+G16x2y3 ::G16x2y3(){ note_ctor("G16x2y3", this);} // tgen
+
+static void Test_G16x2y3()
+{
+ extern Class_Descriptor cd_G16x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x2y3, buf);
+ G16x2y3 *dp, &lv = *(dp=new (buf) G16x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y3)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(24,12), "G16x2y3");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(28,16), "G16x2y3");
+ check_base_class_offset(lv, (C16*)(E16x2*), ABISELECT(16,8), "G16x2y3");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(40,28), "G16x2y3");
+ check_base_class_offset(lv, (E16x2*), ABISELECT(16,8), "G16x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x2y3.ff");
+ test_class_info(&lv, &cd_G16x2y3);
+ dp->~G16x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y3(Test_G16x2y3, "G16x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y3C1Ev();
+extern void _ZN7G16x2y3D1Ev();
+Name_Map name_map_G16x2y3[] = {
+ NSPAIR(_ZN7G16x2y3C1Ev),
+ NSPAIR(_ZN7G16x2y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x2y3[] = {
+ // 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(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_C16, 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,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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
+ 14, //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 _ZTI7G16x2y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y3[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y3[] = {
+ {&(_ZTV7G16x2y3[5]), 5,18},
+ {&(_ZTV7G16x2y3[9]), 9,18},
+ {&(_ZTV7G16x2y3[13]), 13,18},
+ {&(_ZTV7G16x2y3[17]), 17,18},
+ {&(_tg__ZTV5E16x2__7G16x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x2y3[];
+extern VTBL_ENTRY _ZTV7G16x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y3[];
+Class_Descriptor cd_G16x2y3 = { "G16x2y3", // class name
+ bases_G16x2y3, 6,
+ &(vtc_G16x2y3[0]), // expected_vtbl_contents
+ &(vtt_G16x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y3),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 G16x2y4 : E16x2 , F0 {
+ int ff;
+ ~G16x2y4(); // tgen
+ G16x2y4(); // tgen
+};
+//SIG(1 G16x2y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x2y4 ::~G16x2y4(){ note_dtor("G16x2y4", this);} // tgen
+G16x2y4 ::G16x2y4(){ note_ctor("G16x2y4", this);} // tgen
+
+static void Test_G16x2y4()
+{
+ extern Class_Descriptor cd_G16x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x2y4, buf);
+ G16x2y4 *dp, &lv = *(dp=new (buf) G16x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y4)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(8,4), "G16x2y4");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(12,8), "G16x2y4");
+ check_base_class_offset(lv, (C16*)(E16x2*), 0, "G16x2y4");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(32,28), "G16x2y4");
+ check_base_class_offset(lv, (E16x2*), 0, "G16x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G16x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G16x2y4.ff");
+ test_class_info(&lv, &cd_G16x2y4);
+ dp->~G16x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y4(Test_G16x2y4, "G16x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y4C1Ev();
+extern void _ZN7G16x2y4D1Ev();
+Name_Map name_map_G16x2y4[] = {
+ NSPAIR(_ZN7G16x2y4C1Ev),
+ NSPAIR(_ZN7G16x2y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x2y4[] = {
+ // 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(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_C16, 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(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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(24,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 _ZTI7G16x2y4[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y4[] = {
+ {&(_ZTV7G16x2y4[3]), 3,8},
+ {&(_tg__ZTV5E16x2__7G16x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y4[3]), 3,4},
+ {&(_ZTV7G16x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x2y4[];
+extern VTBL_ENTRY _ZTV7G16x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y4[];
+Class_Descriptor cd_G16x2y4 = { "G16x2y4", // class name
+ bases_G16x2y4, 6,
+ &(vtc_G16x2y4[0]), // expected_vtbl_contents
+ &(vtt_G16x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y4),4, //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 G16x2y5 : virtual E16x2 , F0 {
+ int ff;
+ ~G16x2y5(); // tgen
+ G16x2y5(); // tgen
+};
+//SIG(1 G16x2y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x2y5 ::~G16x2y5(){ note_dtor("G16x2y5", this);} // tgen
+G16x2y5 ::G16x2y5(){ note_ctor("G16x2y5", this);} // tgen
+
+static void Test_G16x2y5()
+{
+ extern Class_Descriptor cd_G16x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x2y5, buf);
+ G16x2y5 *dp, &lv = *(dp=new (buf) G16x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y5)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(24,16), "G16x2y5");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(28,20), "G16x2y5");
+ check_base_class_offset(lv, (C16*)(E16x2*), ABISELECT(16,12), "G16x2y5");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(40,32), "G16x2y5");
+ check_base_class_offset(lv, (E16x2*), ABISELECT(16,12), "G16x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x2y5.ff");
+ test_class_info(&lv, &cd_G16x2y5);
+ dp->~G16x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y5(Test_G16x2y5, "G16x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y5C1Ev();
+extern void _ZN7G16x2y5D1Ev();
+Name_Map name_map_G16x2y5[] = {
+ NSPAIR(_ZN7G16x2y5C1Ev),
+ NSPAIR(_ZN7G16x2y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x2y5[] = {
+ // 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(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_C16, 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,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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 _ZTI7G16x2y5[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y5[] = {
+ {&(_ZTV7G16x2y5[4]), 4,13},
+ {&(_ZTV7G16x2y5[8]), 8,13},
+ {&(_ZTV7G16x2y5[12]), 12,13},
+ {&(_tg__ZTV5E16x2__7G16x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x2y5[];
+extern VTBL_ENTRY _ZTV7G16x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y5[];
+Class_Descriptor cd_G16x2y5 = { "G16x2y5", // class name
+ bases_G16x2y5, 6,
+ &(vtc_G16x2y5[0]), // expected_vtbl_contents
+ &(vtt_G16x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y5),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 G16x2y6 : E16x2 , virtual F0 {
+ int ff;
+ ~G16x2y6(); // tgen
+ G16x2y6(); // tgen
+};
+//SIG(1 G16x2y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x2y6 ::~G16x2y6(){ note_dtor("G16x2y6", this);} // tgen
+G16x2y6 ::G16x2y6(){ note_ctor("G16x2y6", this);} // tgen
+
+static void Test_G16x2y6()
+{
+ extern Class_Descriptor cd_G16x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x2y6, buf);
+ G16x2y6 *dp, &lv = *(dp=new (buf) G16x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y6)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(8,4), "G16x2y6");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(12,8), "G16x2y6");
+ check_base_class_offset(lv, (C16*)(E16x2*), 0, "G16x2y6");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(32,24), "G16x2y6");
+ check_base_class_offset(lv, (E16x2*), 0, "G16x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G16x2y6.ff");
+ test_class_info(&lv, &cd_G16x2y6);
+ dp->~G16x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y6(Test_G16x2y6, "G16x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y6C1Ev();
+extern void _ZN7G16x2y6D1Ev();
+Name_Map name_map_G16x2y6[] = {
+ NSPAIR(_ZN7G16x2y6C1Ev),
+ NSPAIR(_ZN7G16x2y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x2y6[] = {
+ // 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(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_C16, 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(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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(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 _ZTI7G16x2y6[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y6[] = {
+ {&(_ZTV7G16x2y6[4]), 4,9},
+ {&(_tg__ZTV5E16x2__7G16x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y6[3]), 3,4},
+ {&(_ZTV7G16x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G16x2y6[];
+extern VTBL_ENTRY _ZTV7G16x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y6[];
+Class_Descriptor cd_G16x2y6 = { "G16x2y6", // class name
+ bases_G16x2y6, 6,
+ &(vtc_G16x2y6[0]), // expected_vtbl_contents
+ &(vtt_G16x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y6),4, //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 G16x2y7 : virtual E16x2 , virtual F0 {
+ int ff;
+ ~G16x2y7(); // tgen
+ G16x2y7(); // tgen
+};
+//SIG(1 G16x2y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x2y7 ::~G16x2y7(){ note_dtor("G16x2y7", this);} // tgen
+G16x2y7 ::G16x2y7(){ note_ctor("G16x2y7", this);} // tgen
+
+static void Test_G16x2y7()
+{
+ extern Class_Descriptor cd_G16x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x2y7, buf);
+ G16x2y7 *dp, &lv = *(dp=new (buf) G16x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x2y7)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x2*), ABISELECT(24,12), "G16x2y7");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x2*), ABISELECT(28,16), "G16x2y7");
+ check_base_class_offset(lv, (C16*)(E16x2*), ABISELECT(16,8), "G16x2y7");
+ check_base_class_offset(lv, (D1*)(E16x2*), ABISELECT(40,28), "G16x2y7");
+ check_base_class_offset(lv, (E16x2*), ABISELECT(16,8), "G16x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G16x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x2y7.ff");
+ test_class_info(&lv, &cd_G16x2y7);
+ dp->~G16x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x2y7(Test_G16x2y7, "G16x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x2y7C1Ev();
+extern void _ZN7G16x2y7D1Ev();
+Name_Map name_map_G16x2y7[] = {
+ NSPAIR(_ZN7G16x2y7C1Ev),
+ NSPAIR(_ZN7G16x2y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x2;
+extern VTBL_ENTRY _ZTI5E16x2[];
+extern VTBL_ENTRY _ZTV5E16x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x2y7[] = {
+ // 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(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_C16, 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,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x2, 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 _ZTI7G16x2y7[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x2y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x2__7G16x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x2__7G16x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x2y7[] = {
+ {&(_ZTV7G16x2y7[5]), 5,14},
+ {&(_ZTV7G16x2y7[9]), 9,14},
+ {&(_ZTV7G16x2y7[13]), 13,14},
+ {&(_tg__ZTV5E16x2__7G16x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x2__7G16x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x2y7[];
+extern VTBL_ENTRY _ZTV7G16x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x2y7[];
+Class_Descriptor cd_G16x2y7 = { "G16x2y7", // class name
+ bases_G16x2y7, 6,
+ &(vtc_G16x2y7[0]), // expected_vtbl_contents
+ &(vtt_G16x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x2y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x2y7),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 E17x2 : C17 , virtual D1 {
+ int fd;
+ ~E17x2(); // tgen
+ E17x2(); // tgen
+};
+//SIG(-1 E17x2) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E17x2 ::~E17x2(){ note_dtor("E17x2", this);} // tgen
+E17x2 ::E17x2(){ note_ctor("E17x2", this);} // tgen
+
+static void Test_E17x2()
+{
+ extern Class_Descriptor cd_E17x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E17x2, buf);
+ E17x2 *dp, &lv = *(dp=new (buf) E17x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E17x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x2)");
+ check_base_class_offset(lv, (A1*)(C17*), 0, "E17x2");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(12,8), "E17x2");
+ check_base_class_offset(lv, (C17*), 0, "E17x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E17x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E17x2.fd");
+ test_class_info(&lv, &cd_E17x2);
+ dp->~E17x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x2(Test_E17x2, "E17x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E17x2C1Ev();
+extern void _ZN5E17x2D1Ev();
+Name_Map name_map_E17x2[] = {
+ NSPAIR(_ZN5E17x2C1Ev),
+ NSPAIR(_ZN5E17x2D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E17x2[] = {
+ // 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_C17, 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(24,20), //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 _ZTI5E17x2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E17x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x2[];
+static VTT_ENTRY vtt_E17x2[] = {
+ {&(_ZTV5E17x2[3]), 3,8},
+ {&(_ZTV5E17x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+Class_Descriptor cd_E17x2 = { "E17x2", // class name
+ bases_E17x2, 4,
+ &(vtc_E17x2[0]), // expected_vtbl_contents
+ &(vtt_E17x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E17x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x2),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 G17x2y0 : E17x2 , F1 {
+ int ff;
+ ~G17x2y0(); // tgen
+ G17x2y0(); // tgen
+};
+//SIG(1 G17x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x2y0 ::~G17x2y0(){ note_dtor("G17x2y0", this);} // tgen
+G17x2y0 ::G17x2y0(){ note_ctor("G17x2y0", this);} // tgen
+
+static void Test_G17x2y0()
+{
+ extern Class_Descriptor cd_G17x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x2y0, buf);
+ G17x2y0 *dp, &lv = *(dp=new (buf) G17x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y0)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), 0, "G17x2y0");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(12,8), "G17x2y0");
+ check_base_class_offset(lv, (C17*)(E17x2*), 0, "G17x2y0");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(40,32), "G17x2y0");
+ check_base_class_offset(lv, (E17x2*), 0, "G17x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G17x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G17x2y0.ff");
+ test_class_info(&lv, &cd_G17x2y0);
+ dp->~G17x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y0(Test_G17x2y0, "G17x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y0C1Ev();
+extern void _ZN7G17x2y0D1Ev();
+Name_Map name_map_G17x2y0[] = {
+ NSPAIR(_ZN7G17x2y0C1Ev),
+ NSPAIR(_ZN7G17x2y0D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x2y0[] = {
+ // 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_C17, 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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(24,20), //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x2y0[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y0[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y0[] = {
+ {&(_ZTV7G17x2y0[3]), 3,11},
+ {&(_tg__ZTV5E17x2__7G17x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y0[3]), 3,4},
+ {&(_ZTV7G17x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x2y0[];
+extern VTBL_ENTRY _ZTV7G17x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y0[];
+Class_Descriptor cd_G17x2y0 = { "G17x2y0", // class name
+ bases_G17x2y0, 6,
+ &(vtc_G17x2y0[0]), // expected_vtbl_contents
+ &(vtt_G17x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y0),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 G17x2y1 : virtual E17x2 , F1 {
+ int ff;
+ ~G17x2y1(); // tgen
+ G17x2y1(); // tgen
+};
+//SIG(1 G17x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x2y1 ::~G17x2y1(){ note_dtor("G17x2y1", this);} // tgen
+G17x2y1 ::G17x2y1(){ note_ctor("G17x2y1", this);} // tgen
+
+static void Test_G17x2y1()
+{
+ extern Class_Descriptor cd_G17x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x2y1, buf);
+ G17x2y1 *dp, &lv = *(dp=new (buf) G17x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y1)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), ABISELECT(16,12), "G17x2y1");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(28,20), "G17x2y1");
+ check_base_class_offset(lv, (C17*)(E17x2*), ABISELECT(16,12), "G17x2y1");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(40,32), "G17x2y1");
+ check_base_class_offset(lv, (E17x2*), ABISELECT(16,12), "G17x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x2y1.ff");
+ test_class_info(&lv, &cd_G17x2y1);
+ dp->~G17x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y1(Test_G17x2y1, "G17x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y1C1Ev();
+extern void _ZN7G17x2y1D1Ev();
+Name_Map name_map_G17x2y1[] = {
+ NSPAIR(_ZN7G17x2y1C1Ev),
+ NSPAIR(_ZN7G17x2y1D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x2y1[] = {
+ // 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_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_C17, 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(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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 _ZTI7G17x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y1[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y1[] = {
+ {&(_ZTV7G17x2y1[4]), 4,14},
+ {&(_ZTV7G17x2y1[9]), 9,14},
+ {&(_ZTV7G17x2y1[13]), 13,14},
+ {&(_tg__ZTV5E17x2__7G17x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x2y1[];
+extern VTBL_ENTRY _ZTV7G17x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y1[];
+Class_Descriptor cd_G17x2y1 = { "G17x2y1", // class name
+ bases_G17x2y1, 6,
+ &(vtc_G17x2y1[0]), // expected_vtbl_contents
+ &(vtt_G17x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y1),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 G17x2y2 : E17x2 , virtual F1 {
+ int ff;
+ ~G17x2y2(); // tgen
+ G17x2y2(); // tgen
+};
+//SIG(1 G17x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x2y2 ::~G17x2y2(){ note_dtor("G17x2y2", this);} // tgen
+G17x2y2 ::G17x2y2(){ note_ctor("G17x2y2", this);} // tgen
+
+static void Test_G17x2y2()
+{
+ extern Class_Descriptor cd_G17x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x2y2, buf);
+ G17x2y2 *dp, &lv = *(dp=new (buf) G17x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y2)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), 0, "G17x2y2");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(12,8), "G17x2y2");
+ check_base_class_offset(lv, (C17*)(E17x2*), 0, "G17x2y2");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(32,24), "G17x2y2");
+ check_base_class_offset(lv, (E17x2*), 0, "G17x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G17x2y2.ff");
+ test_class_info(&lv, &cd_G17x2y2);
+ dp->~G17x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y2(Test_G17x2y2, "G17x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y2C1Ev();
+extern void _ZN7G17x2y2D1Ev();
+Name_Map name_map_G17x2y2[] = {
+ NSPAIR(_ZN7G17x2y2C1Ev),
+ NSPAIR(_ZN7G17x2y2D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x2y2[] = {
+ // 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_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_C17, 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,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x2y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y2[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y2[] = {
+ {&(_ZTV7G17x2y2[4]), 4,13},
+ {&(_tg__ZTV5E17x2__7G17x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y2[3]), 3,4},
+ {&(_ZTV7G17x2y2[8]), 8,13},
+ {&(_ZTV7G17x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G17x2y2[];
+extern VTBL_ENTRY _ZTV7G17x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y2[];
+Class_Descriptor cd_G17x2y2 = { "G17x2y2", // class name
+ bases_G17x2y2, 6,
+ &(vtc_G17x2y2[0]), // expected_vtbl_contents
+ &(vtt_G17x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y2),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 G17x2y3 : virtual E17x2 , virtual F1 {
+ int ff;
+ ~G17x2y3(); // tgen
+ G17x2y3(); // tgen
+};
+//SIG(1 G17x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x2y3 ::~G17x2y3(){ note_dtor("G17x2y3", this);} // tgen
+G17x2y3 ::G17x2y3(){ note_ctor("G17x2y3", this);} // tgen
+
+static void Test_G17x2y3()
+{
+ extern Class_Descriptor cd_G17x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x2y3, buf);
+ G17x2y3 *dp, &lv = *(dp=new (buf) G17x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y3)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), ABISELECT(16,8), "G17x2y3");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(28,16), "G17x2y3");
+ check_base_class_offset(lv, (C17*)(E17x2*), ABISELECT(16,8), "G17x2y3");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(40,28), "G17x2y3");
+ check_base_class_offset(lv, (E17x2*), ABISELECT(16,8), "G17x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x2y3.ff");
+ test_class_info(&lv, &cd_G17x2y3);
+ dp->~G17x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y3(Test_G17x2y3, "G17x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y3C1Ev();
+extern void _ZN7G17x2y3D1Ev();
+Name_Map name_map_G17x2y3[] = {
+ NSPAIR(_ZN7G17x2y3C1Ev),
+ NSPAIR(_ZN7G17x2y3D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x2y3[] = {
+ // 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_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_C17, 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(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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
+ 14, //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 _ZTI7G17x2y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y3[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y3[] = {
+ {&(_ZTV7G17x2y3[5]), 5,18},
+ {&(_ZTV7G17x2y3[9]), 9,18},
+ {&(_ZTV7G17x2y3[13]), 13,18},
+ {&(_ZTV7G17x2y3[17]), 17,18},
+ {&(_tg__ZTV5E17x2__7G17x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x2y3[];
+extern VTBL_ENTRY _ZTV7G17x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y3[];
+Class_Descriptor cd_G17x2y3 = { "G17x2y3", // class name
+ bases_G17x2y3, 6,
+ &(vtc_G17x2y3[0]), // expected_vtbl_contents
+ &(vtt_G17x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y3),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 G17x2y4 : E17x2 , F0 {
+ int ff;
+ ~G17x2y4(); // tgen
+ G17x2y4(); // tgen
+};
+//SIG(1 G17x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x2y4 ::~G17x2y4(){ note_dtor("G17x2y4", this);} // tgen
+G17x2y4 ::G17x2y4(){ note_ctor("G17x2y4", this);} // tgen
+
+static void Test_G17x2y4()
+{
+ extern Class_Descriptor cd_G17x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x2y4, buf);
+ G17x2y4 *dp, &lv = *(dp=new (buf) G17x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y4)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), 0, "G17x2y4");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(12,8), "G17x2y4");
+ check_base_class_offset(lv, (C17*)(E17x2*), 0, "G17x2y4");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(32,28), "G17x2y4");
+ check_base_class_offset(lv, (E17x2*), 0, "G17x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G17x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G17x2y4.ff");
+ test_class_info(&lv, &cd_G17x2y4);
+ dp->~G17x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y4(Test_G17x2y4, "G17x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y4C1Ev();
+extern void _ZN7G17x2y4D1Ev();
+Name_Map name_map_G17x2y4[] = {
+ NSPAIR(_ZN7G17x2y4C1Ev),
+ NSPAIR(_ZN7G17x2y4D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x2y4[] = {
+ // 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_C17, 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,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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(24,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 _ZTI7G17x2y4[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y4[] = {
+ {&(_ZTV7G17x2y4[3]), 3,8},
+ {&(_tg__ZTV5E17x2__7G17x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y4[3]), 3,4},
+ {&(_ZTV7G17x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x2y4[];
+extern VTBL_ENTRY _ZTV7G17x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y4[];
+Class_Descriptor cd_G17x2y4 = { "G17x2y4", // class name
+ bases_G17x2y4, 6,
+ &(vtc_G17x2y4[0]), // expected_vtbl_contents
+ &(vtt_G17x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y4),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 G17x2y5 : virtual E17x2 , F0 {
+ int ff;
+ ~G17x2y5(); // tgen
+ G17x2y5(); // tgen
+};
+//SIG(1 G17x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x2y5 ::~G17x2y5(){ note_dtor("G17x2y5", this);} // tgen
+G17x2y5 ::G17x2y5(){ note_ctor("G17x2y5", this);} // tgen
+
+static void Test_G17x2y5()
+{
+ extern Class_Descriptor cd_G17x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x2y5, buf);
+ G17x2y5 *dp, &lv = *(dp=new (buf) G17x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y5)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), ABISELECT(16,12), "G17x2y5");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(28,20), "G17x2y5");
+ check_base_class_offset(lv, (C17*)(E17x2*), ABISELECT(16,12), "G17x2y5");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(40,32), "G17x2y5");
+ check_base_class_offset(lv, (E17x2*), ABISELECT(16,12), "G17x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x2y5.ff");
+ test_class_info(&lv, &cd_G17x2y5);
+ dp->~G17x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y5(Test_G17x2y5, "G17x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y5C1Ev();
+extern void _ZN7G17x2y5D1Ev();
+Name_Map name_map_G17x2y5[] = {
+ NSPAIR(_ZN7G17x2y5C1Ev),
+ NSPAIR(_ZN7G17x2y5D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x2y5[] = {
+ // 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_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_C17, 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(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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 _ZTI7G17x2y5[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y5[] = {
+ {&(_ZTV7G17x2y5[4]), 4,13},
+ {&(_ZTV7G17x2y5[8]), 8,13},
+ {&(_ZTV7G17x2y5[12]), 12,13},
+ {&(_tg__ZTV5E17x2__7G17x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x2y5[];
+extern VTBL_ENTRY _ZTV7G17x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y5[];
+Class_Descriptor cd_G17x2y5 = { "G17x2y5", // class name
+ bases_G17x2y5, 6,
+ &(vtc_G17x2y5[0]), // expected_vtbl_contents
+ &(vtt_G17x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y5),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 G17x2y6 : E17x2 , virtual F0 {
+ int ff;
+ ~G17x2y6(); // tgen
+ G17x2y6(); // tgen
+};
+//SIG(1 G17x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x2y6 ::~G17x2y6(){ note_dtor("G17x2y6", this);} // tgen
+G17x2y6 ::G17x2y6(){ note_ctor("G17x2y6", this);} // tgen
+
+static void Test_G17x2y6()
+{
+ extern Class_Descriptor cd_G17x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x2y6, buf);
+ G17x2y6 *dp, &lv = *(dp=new (buf) G17x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y6)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), 0, "G17x2y6");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(12,8), "G17x2y6");
+ check_base_class_offset(lv, (C17*)(E17x2*), 0, "G17x2y6");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(32,24), "G17x2y6");
+ check_base_class_offset(lv, (E17x2*), 0, "G17x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G17x2y6.ff");
+ test_class_info(&lv, &cd_G17x2y6);
+ dp->~G17x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y6(Test_G17x2y6, "G17x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y6C1Ev();
+extern void _ZN7G17x2y6D1Ev();
+Name_Map name_map_G17x2y6[] = {
+ NSPAIR(_ZN7G17x2y6C1Ev),
+ NSPAIR(_ZN7G17x2y6D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x2y6[] = {
+ // 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_C17, 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,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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(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 _ZTI7G17x2y6[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y6[] = {
+ {&(_ZTV7G17x2y6[4]), 4,9},
+ {&(_tg__ZTV5E17x2__7G17x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y6[3]), 3,4},
+ {&(_ZTV7G17x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G17x2y6[];
+extern VTBL_ENTRY _ZTV7G17x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y6[];
+Class_Descriptor cd_G17x2y6 = { "G17x2y6", // class name
+ bases_G17x2y6, 6,
+ &(vtc_G17x2y6[0]), // expected_vtbl_contents
+ &(vtt_G17x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y6),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 G17x2y7 : virtual E17x2 , virtual F0 {
+ int ff;
+ ~G17x2y7(); // tgen
+ G17x2y7(); // tgen
+};
+//SIG(1 G17x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x2y7 ::~G17x2y7(){ note_dtor("G17x2y7", this);} // tgen
+G17x2y7 ::G17x2y7(){ note_ctor("G17x2y7", this);} // tgen
+
+static void Test_G17x2y7()
+{
+ extern Class_Descriptor cd_G17x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x2y7, buf);
+ G17x2y7 *dp, &lv = *(dp=new (buf) G17x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x2y7)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x2*), ABISELECT(16,8), "G17x2y7");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x2*), ABISELECT(28,16), "G17x2y7");
+ check_base_class_offset(lv, (C17*)(E17x2*), ABISELECT(16,8), "G17x2y7");
+ check_base_class_offset(lv, (D1*)(E17x2*), ABISELECT(40,28), "G17x2y7");
+ check_base_class_offset(lv, (E17x2*), ABISELECT(16,8), "G17x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G17x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x2y7.ff");
+ test_class_info(&lv, &cd_G17x2y7);
+ dp->~G17x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x2y7(Test_G17x2y7, "G17x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x2y7C1Ev();
+extern void _ZN7G17x2y7D1Ev();
+Name_Map name_map_G17x2y7[] = {
+ NSPAIR(_ZN7G17x2y7C1Ev),
+ NSPAIR(_ZN7G17x2y7D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x2;
+extern VTBL_ENTRY _ZTI5E17x2[];
+extern VTBL_ENTRY _ZTV5E17x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x2y7[] = {
+ // 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_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_C17, 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(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x2, 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 _ZTI7G17x2y7[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x2y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x2__7G17x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x2__7G17x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x2y7[] = {
+ {&(_ZTV7G17x2y7[5]), 5,14},
+ {&(_ZTV7G17x2y7[9]), 9,14},
+ {&(_ZTV7G17x2y7[13]), 13,14},
+ {&(_tg__ZTV5E17x2__7G17x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x2__7G17x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x2y7[];
+extern VTBL_ENTRY _ZTV7G17x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x2y7[];
+Class_Descriptor cd_G17x2y7 = { "G17x2y7", // class name
+ bases_G17x2y7, 6,
+ &(vtc_G17x2y7[0]), // expected_vtbl_contents
+ &(vtt_G17x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x2y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x2y7),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 E18x2 : C18 , virtual D1 {
+ int fd;
+ ~E18x2(); // tgen
+ E18x2(); // tgen
+};
+//SIG(-1 E18x2) C1{ BC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E18x2 ::~E18x2(){ note_dtor("E18x2", this);} // tgen
+E18x2 ::E18x2(){ note_ctor("E18x2", this);} // tgen
+
+static void Test_E18x2()
+{
+ extern Class_Descriptor cd_E18x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E18x2, buf);
+ E18x2 *dp, &lv = *(dp=new (buf) E18x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E18x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x2)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(20,16), "E18x2");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(8,4), "E18x2");
+ check_base_class_offset(lv, (C18*), 0, "E18x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E18x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E18x2.fd");
+ test_class_info(&lv, &cd_E18x2);
+ dp->~E18x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x2(Test_E18x2, "E18x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E18x2C1Ev();
+extern void _ZN5E18x2D1Ev();
+Name_Map name_map_E18x2[] = {
+ NSPAIR(_ZN5E18x2C1Ev),
+ NSPAIR(_ZN5E18x2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E18x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 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_C18, 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(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E18x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x2[] = {
+ {&(_ZTV5E18x2[4]), 4,9},
+ {&(_tg__ZTV3C18__5E18x2[3]), 3,4},
+ {&(_ZTV5E18x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+Class_Descriptor cd_E18x2 = { "E18x2", // class name
+ bases_E18x2, 4,
+ &(vtc_E18x2[0]), // expected_vtbl_contents
+ &(vtt_E18x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E18x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x2),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 G18x2y0 : E18x2 , F1 {
+ int ff;
+ ~G18x2y0(); // tgen
+ G18x2y0(); // tgen
+};
+//SIG(1 G18x2y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x2y0 ::~G18x2y0(){ note_dtor("G18x2y0", this);} // tgen
+G18x2y0 ::G18x2y0(){ note_ctor("G18x2y0", this);} // tgen
+
+static void Test_G18x2y0()
+{
+ extern Class_Descriptor cd_G18x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x2y0, buf);
+ G18x2y0 *dp, &lv = *(dp=new (buf) G18x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y0)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(40,28), "G18x2y0");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(8,4), "G18x2y0");
+ check_base_class_offset(lv, (C18*)(E18x2*), 0, "G18x2y0");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(48,32), "G18x2y0");
+ check_base_class_offset(lv, (E18x2*), 0, "G18x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G18x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G18x2y0.ff");
+ test_class_info(&lv, &cd_G18x2y0);
+ dp->~G18x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y0(Test_G18x2y0, "G18x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y0C1Ev();
+extern void _ZN7G18x2y0D1Ev();
+Name_Map name_map_G18x2y0[] = {
+ NSPAIR(_ZN7G18x2y0C1Ev),
+ NSPAIR(_ZN7G18x2y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x2y0[] = {
+ // 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(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_C18, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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(24,16), //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 _ZTI7G18x2y0[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y0[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y0[] = {
+ {&(_ZTV7G18x2y0[4]), 4,12},
+ {&(_tg__ZTV5E18x2__7G18x2y0[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y0[3]), 3,4},
+ {&(_ZTV7G18x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G18x2y0[];
+extern VTBL_ENTRY _ZTV7G18x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y0[];
+Class_Descriptor cd_G18x2y0 = { "G18x2y0", // class name
+ bases_G18x2y0, 6,
+ &(vtc_G18x2y0[0]), // expected_vtbl_contents
+ &(vtt_G18x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y0),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 G18x2y1 : virtual E18x2 , F1 {
+ int ff;
+ ~G18x2y1(); // tgen
+ G18x2y1(); // tgen
+};
+//SIG(1 G18x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x2y1 ::~G18x2y1(){ note_dtor("G18x2y1", this);} // tgen
+G18x2y1 ::G18x2y1(){ note_ctor("G18x2y1", this);} // tgen
+
+static void Test_G18x2y1()
+{
+ extern Class_Descriptor cd_G18x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x2y1, buf);
+ G18x2y1 *dp, &lv = *(dp=new (buf) G18x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y1)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(36,28), "G18x2y1");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(24,16), "G18x2y1");
+ check_base_class_offset(lv, (C18*)(E18x2*), ABISELECT(16,12), "G18x2y1");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(40,32), "G18x2y1");
+ check_base_class_offset(lv, (E18x2*), ABISELECT(16,12), "G18x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x2y1.ff");
+ test_class_info(&lv, &cd_G18x2y1);
+ dp->~G18x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y1(Test_G18x2y1, "G18x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y1C1Ev();
+extern void _ZN7G18x2y1D1Ev();
+Name_Map name_map_G18x2y1[] = {
+ NSPAIR(_ZN7G18x2y1C1Ev),
+ NSPAIR(_ZN7G18x2y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x2y1[] = {
+ // 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(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_C18, 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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 _ZTI7G18x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y1[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y1[] = {
+ {&(_ZTV7G18x2y1[5]), 5,16},
+ {&(_ZTV7G18x2y1[11]), 11,16},
+ {&(_ZTV7G18x2y1[15]), 15,16},
+ {&(_tg__ZTV5E18x2__7G18x2y1[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x2y1[];
+extern VTBL_ENTRY _ZTV7G18x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y1[];
+Class_Descriptor cd_G18x2y1 = { "G18x2y1", // class name
+ bases_G18x2y1, 6,
+ &(vtc_G18x2y1[0]), // expected_vtbl_contents
+ &(vtt_G18x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y1),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 G18x2y2 : E18x2 , virtual F1 {
+ int ff;
+ ~G18x2y2(); // tgen
+ G18x2y2(); // tgen
+};
+//SIG(1 G18x2y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x2y2 ::~G18x2y2(){ note_dtor("G18x2y2", this);} // tgen
+G18x2y2 ::G18x2y2(){ note_ctor("G18x2y2", this);} // tgen
+
+static void Test_G18x2y2()
+{
+ extern Class_Descriptor cd_G18x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x2y2, buf);
+ G18x2y2 *dp, &lv = *(dp=new (buf) G18x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y2)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(24,20), "G18x2y2");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(8,4), "G18x2y2");
+ check_base_class_offset(lv, (C18*)(E18x2*), 0, "G18x2y2");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(32,24), "G18x2y2");
+ check_base_class_offset(lv, (E18x2*), 0, "G18x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G18x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x2y2.ff");
+ test_class_info(&lv, &cd_G18x2y2);
+ dp->~G18x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y2(Test_G18x2y2, "G18x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y2C1Ev();
+extern void _ZN7G18x2y2D1Ev();
+Name_Map name_map_G18x2y2[] = {
+ NSPAIR(_ZN7G18x2y2C1Ev),
+ NSPAIR(_ZN7G18x2y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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_C18, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x2y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y2[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y2[] = {
+ {&(_ZTV7G18x2y2[5]), 5,14},
+ {&(_tg__ZTV5E18x2__7G18x2y2[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y2[3]), 3,4},
+ {&(_ZTV7G18x2y2[9]), 9,14},
+ {&(_ZTV7G18x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G18x2y2[];
+extern VTBL_ENTRY _ZTV7G18x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y2[];
+Class_Descriptor cd_G18x2y2 = { "G18x2y2", // class name
+ bases_G18x2y2, 6,
+ &(vtc_G18x2y2[0]), // expected_vtbl_contents
+ &(vtt_G18x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y2),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 G18x2y3 : virtual E18x2 , virtual F1 {
+ int ff;
+ ~G18x2y3(); // tgen
+ G18x2y3(); // tgen
+};
+//SIG(1 G18x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x2y3 ::~G18x2y3(){ note_dtor("G18x2y3", this);} // tgen
+G18x2y3 ::G18x2y3(){ note_ctor("G18x2y3", this);} // tgen
+
+static void Test_G18x2y3()
+{
+ extern Class_Descriptor cd_G18x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x2y3, buf);
+ G18x2y3 *dp, &lv = *(dp=new (buf) G18x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y3)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(36,24), "G18x2y3");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(24,12), "G18x2y3");
+ check_base_class_offset(lv, (C18*)(E18x2*), ABISELECT(16,8), "G18x2y3");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(40,28), "G18x2y3");
+ check_base_class_offset(lv, (E18x2*), ABISELECT(16,8), "G18x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x2y3.ff");
+ test_class_info(&lv, &cd_G18x2y3);
+ dp->~G18x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y3(Test_G18x2y3, "G18x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y3C1Ev();
+extern void _ZN7G18x2y3D1Ev();
+Name_Map name_map_G18x2y3[] = {
+ NSPAIR(_ZN7G18x2y3C1Ev),
+ NSPAIR(_ZN7G18x2y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x2y3[] = {
+ // 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(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_C18, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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
+ 16, //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 _ZTI7G18x2y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y3[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y3[] = {
+ {&(_ZTV7G18x2y3[6]), 6,20},
+ {&(_ZTV7G18x2y3[11]), 11,20},
+ {&(_ZTV7G18x2y3[15]), 15,20},
+ {&(_ZTV7G18x2y3[19]), 19,20},
+ {&(_tg__ZTV5E18x2__7G18x2y3[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x2y3[];
+extern VTBL_ENTRY _ZTV7G18x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y3[];
+Class_Descriptor cd_G18x2y3 = { "G18x2y3", // class name
+ bases_G18x2y3, 6,
+ &(vtc_G18x2y3[0]), // expected_vtbl_contents
+ &(vtt_G18x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y3),7, //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 G18x2y4 : E18x2 , F0 {
+ int ff;
+ ~G18x2y4(); // tgen
+ G18x2y4(); // tgen
+};
+//SIG(1 G18x2y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x2y4 ::~G18x2y4(){ note_dtor("G18x2y4", this);} // tgen
+G18x2y4 ::G18x2y4(){ note_ctor("G18x2y4", this);} // tgen
+
+static void Test_G18x2y4()
+{
+ extern Class_Descriptor cd_G18x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x2y4, buf);
+ G18x2y4 *dp, &lv = *(dp=new (buf) G18x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y4)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(28,24), "G18x2y4");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(8,4), "G18x2y4");
+ check_base_class_offset(lv, (C18*)(E18x2*), 0, "G18x2y4");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(32,28), "G18x2y4");
+ check_base_class_offset(lv, (E18x2*), 0, "G18x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G18x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G18x2y4.ff");
+ test_class_info(&lv, &cd_G18x2y4);
+ dp->~G18x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y4(Test_G18x2y4, "G18x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y4C1Ev();
+extern void _ZN7G18x2y4D1Ev();
+Name_Map name_map_G18x2y4[] = {
+ NSPAIR(_ZN7G18x2y4C1Ev),
+ NSPAIR(_ZN7G18x2y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_C18, 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x2y4[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y4[] = {
+ {&(_ZTV7G18x2y4[4]), 4,9},
+ {&(_tg__ZTV5E18x2__7G18x2y4[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y4[3]), 3,4},
+ {&(_ZTV7G18x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G18x2y4[];
+extern VTBL_ENTRY _ZTV7G18x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y4[];
+Class_Descriptor cd_G18x2y4 = { "G18x2y4", // class name
+ bases_G18x2y4, 6,
+ &(vtc_G18x2y4[0]), // expected_vtbl_contents
+ &(vtt_G18x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y4),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 G18x2y5 : virtual E18x2 , F0 {
+ int ff;
+ ~G18x2y5(); // tgen
+ G18x2y5(); // tgen
+};
+//SIG(1 G18x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x2y5 ::~G18x2y5(){ note_dtor("G18x2y5", this);} // tgen
+G18x2y5 ::G18x2y5(){ note_ctor("G18x2y5", this);} // tgen
+
+static void Test_G18x2y5()
+{
+ extern Class_Descriptor cd_G18x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x2y5, buf);
+ G18x2y5 *dp, &lv = *(dp=new (buf) G18x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y5)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(36,28), "G18x2y5");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(24,16), "G18x2y5");
+ check_base_class_offset(lv, (C18*)(E18x2*), ABISELECT(16,12), "G18x2y5");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(40,32), "G18x2y5");
+ check_base_class_offset(lv, (E18x2*), ABISELECT(16,12), "G18x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x2y5.ff");
+ test_class_info(&lv, &cd_G18x2y5);
+ dp->~G18x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y5(Test_G18x2y5, "G18x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y5C1Ev();
+extern void _ZN7G18x2y5D1Ev();
+Name_Map name_map_G18x2y5[] = {
+ NSPAIR(_ZN7G18x2y5C1Ev),
+ NSPAIR(_ZN7G18x2y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x2y5[] = {
+ // 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(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_C18, 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(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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 _ZTI7G18x2y5[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y5[] = {
+ {&(_ZTV7G18x2y5[5]), 5,15},
+ {&(_ZTV7G18x2y5[10]), 10,15},
+ {&(_ZTV7G18x2y5[14]), 14,15},
+ {&(_tg__ZTV5E18x2__7G18x2y5[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x2y5[];
+extern VTBL_ENTRY _ZTV7G18x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y5[];
+Class_Descriptor cd_G18x2y5 = { "G18x2y5", // class name
+ bases_G18x2y5, 6,
+ &(vtc_G18x2y5[0]), // expected_vtbl_contents
+ &(vtt_G18x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y5),6, //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 G18x2y6 : E18x2 , virtual F0 {
+ int ff;
+ ~G18x2y6(); // tgen
+ G18x2y6(); // tgen
+};
+//SIG(1 G18x2y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x2y6 ::~G18x2y6(){ note_dtor("G18x2y6", this);} // tgen
+G18x2y6 ::G18x2y6(){ note_ctor("G18x2y6", this);} // tgen
+
+static void Test_G18x2y6()
+{
+ extern Class_Descriptor cd_G18x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x2y6, buf);
+ G18x2y6 *dp, &lv = *(dp=new (buf) G18x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y6)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(24,20), "G18x2y6");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(8,4), "G18x2y6");
+ check_base_class_offset(lv, (C18*)(E18x2*), 0, "G18x2y6");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(32,24), "G18x2y6");
+ check_base_class_offset(lv, (E18x2*), 0, "G18x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G18x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x2y6.ff");
+ test_class_info(&lv, &cd_G18x2y6);
+ dp->~G18x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y6(Test_G18x2y6, "G18x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y6C1Ev();
+extern void _ZN7G18x2y6D1Ev();
+Name_Map name_map_G18x2y6[] = {
+ NSPAIR(_ZN7G18x2y6C1Ev),
+ NSPAIR(_ZN7G18x2y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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_C18, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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 _ZTI7G18x2y6[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y6[] = {
+ {&(_ZTV7G18x2y6[5]), 5,10},
+ {&(_tg__ZTV5E18x2__7G18x2y6[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y6[3]), 3,4},
+ {&(_ZTV7G18x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G18x2y6[];
+extern VTBL_ENTRY _ZTV7G18x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y6[];
+Class_Descriptor cd_G18x2y6 = { "G18x2y6", // class name
+ bases_G18x2y6, 6,
+ &(vtc_G18x2y6[0]), // expected_vtbl_contents
+ &(vtt_G18x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y6),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 G18x2y7 : virtual E18x2 , virtual F0 {
+ int ff;
+ ~G18x2y7(); // tgen
+ G18x2y7(); // tgen
+};
+//SIG(1 G18x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x2y7 ::~G18x2y7(){ note_dtor("G18x2y7", this);} // tgen
+G18x2y7 ::G18x2y7(){ note_ctor("G18x2y7", this);} // tgen
+
+static void Test_G18x2y7()
+{
+ extern Class_Descriptor cd_G18x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x2y7, buf);
+ G18x2y7 *dp, &lv = *(dp=new (buf) G18x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x2y7)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x2*), ABISELECT(36,24), "G18x2y7");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x2*), ABISELECT(24,12), "G18x2y7");
+ check_base_class_offset(lv, (C18*)(E18x2*), ABISELECT(16,8), "G18x2y7");
+ check_base_class_offset(lv, (D1*)(E18x2*), ABISELECT(40,28), "G18x2y7");
+ check_base_class_offset(lv, (E18x2*), ABISELECT(16,8), "G18x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G18x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x2y7.ff");
+ test_class_info(&lv, &cd_G18x2y7);
+ dp->~G18x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x2y7(Test_G18x2y7, "G18x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x2y7C1Ev();
+extern void _ZN7G18x2y7D1Ev();
+Name_Map name_map_G18x2y7[] = {
+ NSPAIR(_ZN7G18x2y7C1Ev),
+ NSPAIR(_ZN7G18x2y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x2;
+extern VTBL_ENTRY _ZTI5E18x2[];
+extern VTBL_ENTRY _ZTV5E18x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x2y7[] = {
+ // 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(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_C18, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x2, 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(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 _ZTI7G18x2y7[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x2y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x2__7G18x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x2__7G18x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x2__7G18x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G18x2y7[] = {
+ {&(_ZTV7G18x2y7[6]), 6,16},
+ {&(_ZTV7G18x2y7[11]), 11,16},
+ {&(_ZTV7G18x2y7[15]), 15,16},
+ {&(_tg__ZTV5E18x2__7G18x2y7[4]), 4,5},
+ {&(_tg__ZTV3C185E18x2__7G18x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E18x2__7G18x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x2y7[];
+extern VTBL_ENTRY _ZTV7G18x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x2y7[];
+Class_Descriptor cd_G18x2y7 = { "G18x2y7", // class name
+ bases_G18x2y7, 6,
+ &(vtc_G18x2y7[0]), // expected_vtbl_contents
+ &(vtt_G18x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x2y7),6, //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 E19x2 : C19 , virtual D1 {
+ int fd;
+ ~E19x2(); // tgen
+ E19x2(); // tgen
+};
+//SIG(-1 E19x2) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E19x2 ::~E19x2(){ note_dtor("E19x2", this);} // tgen
+E19x2 ::E19x2(){ note_ctor("E19x2", this);} // tgen
+
+static void Test_E19x2()
+{
+ extern Class_Descriptor cd_E19x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E19x2, buf);
+ E19x2 *dp, &lv = *(dp=new (buf) E19x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E19x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x2)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(24,16), "E19x2");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(8,4), "E19x2");
+ check_base_class_offset(lv, (C19*), 0, "E19x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E19x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E19x2.fd");
+ test_class_info(&lv, &cd_E19x2);
+ dp->~E19x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x2(Test_E19x2, "E19x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E19x2C1Ev();
+extern void _ZN5E19x2D1Ev();
+Name_Map name_map_E19x2[] = {
+ NSPAIR(_ZN5E19x2C1Ev),
+ NSPAIR(_ZN5E19x2D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E19x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //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_C19, 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(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E19x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__5E19x2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x2[] = {
+ {&(_ZTV5E19x2[4]), 4,13},
+ {&(_tg__ZTV3C19__5E19x2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x2[3]), 3,4},
+ {&(_ZTV5E19x2[8]), 8,13},
+ {&(_ZTV5E19x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+static VTBL_ENTRY alt_thunk_names134[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E19x2 = { "E19x2", // class name
+ bases_E19x2, 4,
+ &(vtc_E19x2[0]), // expected_vtbl_contents
+ &(vtt_E19x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E19x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x2),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names134,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y0 : E19x2 , F1 {
+ int ff;
+ ~G19x2y0(); // tgen
+ G19x2y0(); // tgen
+};
+//SIG(1 G19x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x2y0 ::~G19x2y0(){ note_dtor("G19x2y0", this);} // tgen
+G19x2y0 ::G19x2y0(){ note_ctor("G19x2y0", this);} // tgen
+
+static void Test_G19x2y0()
+{
+ extern Class_Descriptor cd_G19x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x2y0, buf);
+ G19x2y0 *dp, &lv = *(dp=new (buf) G19x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y0)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(40,28), "G19x2y0");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(8,4), "G19x2y0");
+ check_base_class_offset(lv, (C19*)(E19x2*), 0, "G19x2y0");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(56,36), "G19x2y0");
+ check_base_class_offset(lv, (E19x2*), 0, "G19x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G19x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G19x2y0.ff");
+ test_class_info(&lv, &cd_G19x2y0);
+ dp->~G19x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y0(Test_G19x2y0, "G19x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y0C1Ev();
+extern void _ZN7G19x2y0D1Ev();
+Name_Map name_map_G19x2y0[] = {
+ NSPAIR(_ZN7G19x2y0C1Ev),
+ NSPAIR(_ZN7G19x2y0D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x2y0[] = {
+ // 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)
+ 7, //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_C19, 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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x2y0[];
+extern void _ZN3C193fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y0[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y0[] = {
+ {&(_ZTV7G19x2y0[4]), 4,16},
+ {&(_tg__ZTV5E19x2__7G19x2y0[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y0[3]), 3,4},
+ {&(_ZTV7G19x2y0[11]), 11,16},
+ {&(_ZTV7G19x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G19x2y0[];
+extern VTBL_ENTRY _ZTV7G19x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y0[];
+static VTBL_ENTRY alt_thunk_names135[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y0 = { "G19x2y0", // class name
+ bases_G19x2y0, 6,
+ &(vtc_G19x2y0[0]), // expected_vtbl_contents
+ &(vtt_G19x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names135,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y1 : virtual E19x2 , F1 {
+ int ff;
+ ~G19x2y1(); // tgen
+ G19x2y1(); // tgen
+};
+//SIG(1 G19x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x2y1 ::~G19x2y1(){ note_dtor("G19x2y1", this);} // tgen
+G19x2y1 ::G19x2y1(){ note_ctor("G19x2y1", this);} // tgen
+
+static void Test_G19x2y1()
+{
+ extern Class_Descriptor cd_G19x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x2y1, buf);
+ G19x2y1 *dp, &lv = *(dp=new (buf) G19x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y1)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(40,28), "G19x2y1");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(24,16), "G19x2y1");
+ check_base_class_offset(lv, (C19*)(E19x2*), ABISELECT(16,12), "G19x2y1");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(56,36), "G19x2y1");
+ check_base_class_offset(lv, (E19x2*), ABISELECT(16,12), "G19x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x2y1.ff");
+ test_class_info(&lv, &cd_G19x2y1);
+ dp->~G19x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y1(Test_G19x2y1, "G19x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y1C1Ev();
+extern void _ZN7G19x2y1D1Ev();
+Name_Map name_map_G19x2y1[] = {
+ NSPAIR(_ZN7G19x2y1C1Ev),
+ NSPAIR(_ZN7G19x2y1D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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_C19, 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(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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 _ZTI7G19x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y1[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y1[] = {
+ {&(_ZTV7G19x2y1[5]), 5,20},
+ {&(_ZTV7G19x2y1[11]), 11,20},
+ {&(_ZTV7G19x2y1[15]), 15,20},
+ {&(_ZTV7G19x2y1[19]), 19,20},
+ {&(_tg__ZTV5E19x2__7G19x2y1[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x2y1[];
+extern VTBL_ENTRY _ZTV7G19x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y1[];
+static VTBL_ENTRY alt_thunk_names136[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y1 = { "G19x2y1", // class name
+ bases_G19x2y1, 6,
+ &(vtc_G19x2y1[0]), // expected_vtbl_contents
+ &(vtt_G19x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names136,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y2 : E19x2 , virtual F1 {
+ int ff;
+ ~G19x2y2(); // tgen
+ G19x2y2(); // tgen
+};
+//SIG(1 G19x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x2y2 ::~G19x2y2(){ note_dtor("G19x2y2", this);} // tgen
+G19x2y2 ::G19x2y2(){ note_ctor("G19x2y2", this);} // tgen
+
+static void Test_G19x2y2()
+{
+ extern Class_Descriptor cd_G19x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x2y2, buf);
+ G19x2y2 *dp, &lv = *(dp=new (buf) G19x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y2)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(24,20), "G19x2y2");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(8,4), "G19x2y2");
+ check_base_class_offset(lv, (C19*)(E19x2*), 0, "G19x2y2");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(40,28), "G19x2y2");
+ check_base_class_offset(lv, (E19x2*), 0, "G19x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x2y2.ff");
+ test_class_info(&lv, &cd_G19x2y2);
+ dp->~G19x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y2(Test_G19x2y2, "G19x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y2C1Ev();
+extern void _ZN7G19x2y2D1Ev();
+Name_Map name_map_G19x2y2[] = {
+ NSPAIR(_ZN7G19x2y2C1Ev),
+ NSPAIR(_ZN7G19x2y2D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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_C19, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x2y2[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y2[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y2[] = {
+ {&(_ZTV7G19x2y2[5]), 5,18},
+ {&(_tg__ZTV5E19x2__7G19x2y2[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y2[3]), 3,4},
+ {&(_ZTV7G19x2y2[9]), 9,18},
+ {&(_ZTV7G19x2y2[13]), 13,18},
+ {&(_ZTV7G19x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G19x2y2[];
+extern VTBL_ENTRY _ZTV7G19x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y2[];
+static VTBL_ENTRY alt_thunk_names137[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y2 = { "G19x2y2", // class name
+ bases_G19x2y2, 6,
+ &(vtc_G19x2y2[0]), // expected_vtbl_contents
+ &(vtt_G19x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names137,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y3 : virtual E19x2 , virtual F1 {
+ int ff;
+ ~G19x2y3(); // tgen
+ G19x2y3(); // tgen
+};
+//SIG(1 G19x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x2y3 ::~G19x2y3(){ note_dtor("G19x2y3", this);} // tgen
+G19x2y3 ::G19x2y3(){ note_ctor("G19x2y3", this);} // tgen
+
+static void Test_G19x2y3()
+{
+ extern Class_Descriptor cd_G19x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G19x2y3, buf);
+ G19x2y3 *dp, &lv = *(dp=new (buf) G19x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G19x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y3)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(40,24), "G19x2y3");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(24,12), "G19x2y3");
+ check_base_class_offset(lv, (C19*)(E19x2*), ABISELECT(16,8), "G19x2y3");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(56,32), "G19x2y3");
+ check_base_class_offset(lv, (E19x2*), ABISELECT(16,8), "G19x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G19x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x2y3.ff");
+ test_class_info(&lv, &cd_G19x2y3);
+ dp->~G19x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y3(Test_G19x2y3, "G19x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y3C1Ev();
+extern void _ZN7G19x2y3D1Ev();
+Name_Map name_map_G19x2y3[] = {
+ NSPAIR(_ZN7G19x2y3C1Ev),
+ NSPAIR(_ZN7G19x2y3D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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_C19, 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(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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
+ 20, //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 _ZTI7G19x2y3[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y3[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y3[] = {
+ {&(_ZTV7G19x2y3[6]), 6,24},
+ {&(_ZTV7G19x2y3[11]), 11,24},
+ {&(_ZTV7G19x2y3[15]), 15,24},
+ {&(_ZTV7G19x2y3[19]), 19,24},
+ {&(_ZTV7G19x2y3[23]), 23,24},
+ {&(_tg__ZTV5E19x2__7G19x2y3[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x2y3[];
+extern VTBL_ENTRY _ZTV7G19x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y3[];
+static VTBL_ENTRY alt_thunk_names138[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y3 = { "G19x2y3", // class name
+ bases_G19x2y3, 6,
+ &(vtc_G19x2y3[0]), // expected_vtbl_contents
+ &(vtt_G19x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G19x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names138,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y4 : E19x2 , F0 {
+ int ff;
+ ~G19x2y4(); // tgen
+ G19x2y4(); // tgen
+};
+//SIG(1 G19x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x2y4 ::~G19x2y4(){ note_dtor("G19x2y4", this);} // tgen
+G19x2y4 ::G19x2y4(){ note_ctor("G19x2y4", this);} // tgen
+
+static void Test_G19x2y4()
+{
+ extern Class_Descriptor cd_G19x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G19x2y4, buf);
+ G19x2y4 *dp, &lv = *(dp=new (buf) G19x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G19x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y4)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(32,24), "G19x2y4");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(8,4), "G19x2y4");
+ check_base_class_offset(lv, (C19*)(E19x2*), 0, "G19x2y4");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(48,32), "G19x2y4");
+ check_base_class_offset(lv, (E19x2*), 0, "G19x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G19x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G19x2y4.ff");
+ test_class_info(&lv, &cd_G19x2y4);
+ dp->~G19x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y4(Test_G19x2y4, "G19x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y4C1Ev();
+extern void _ZN7G19x2y4D1Ev();
+Name_Map name_map_G19x2y4[] = {
+ NSPAIR(_ZN7G19x2y4C1Ev),
+ NSPAIR(_ZN7G19x2y4D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 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_C19, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x2y4[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y4[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y4[] = {
+ {&(_ZTV7G19x2y4[4]), 4,13},
+ {&(_tg__ZTV5E19x2__7G19x2y4[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y4[3]), 3,4},
+ {&(_ZTV7G19x2y4[8]), 8,13},
+ {&(_ZTV7G19x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G19x2y4[];
+extern VTBL_ENTRY _ZTV7G19x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y4[];
+static VTBL_ENTRY alt_thunk_names139[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y4 = { "G19x2y4", // class name
+ bases_G19x2y4, 6,
+ &(vtc_G19x2y4[0]), // expected_vtbl_contents
+ &(vtt_G19x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G19x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names139,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y5 : virtual E19x2 , F0 {
+ int ff;
+ ~G19x2y5(); // tgen
+ G19x2y5(); // tgen
+};
+//SIG(1 G19x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x2y5 ::~G19x2y5(){ note_dtor("G19x2y5", this);} // tgen
+G19x2y5 ::G19x2y5(){ note_ctor("G19x2y5", this);} // tgen
+
+static void Test_G19x2y5()
+{
+ extern Class_Descriptor cd_G19x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x2y5, buf);
+ G19x2y5 *dp, &lv = *(dp=new (buf) G19x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y5)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(40,28), "G19x2y5");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(24,16), "G19x2y5");
+ check_base_class_offset(lv, (C19*)(E19x2*), ABISELECT(16,12), "G19x2y5");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(56,36), "G19x2y5");
+ check_base_class_offset(lv, (E19x2*), ABISELECT(16,12), "G19x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x2y5.ff");
+ test_class_info(&lv, &cd_G19x2y5);
+ dp->~G19x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y5(Test_G19x2y5, "G19x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y5C1Ev();
+extern void _ZN7G19x2y5D1Ev();
+Name_Map name_map_G19x2y5[] = {
+ NSPAIR(_ZN7G19x2y5C1Ev),
+ NSPAIR(_ZN7G19x2y5D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 11, //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_C19, 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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 _ZTI7G19x2y5[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y5[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y5[] = {
+ {&(_ZTV7G19x2y5[5]), 5,19},
+ {&(_ZTV7G19x2y5[10]), 10,19},
+ {&(_ZTV7G19x2y5[14]), 14,19},
+ {&(_ZTV7G19x2y5[18]), 18,19},
+ {&(_tg__ZTV5E19x2__7G19x2y5[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x2y5[];
+extern VTBL_ENTRY _ZTV7G19x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y5[];
+static VTBL_ENTRY alt_thunk_names140[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y5 = { "G19x2y5", // class name
+ bases_G19x2y5, 6,
+ &(vtc_G19x2y5[0]), // expected_vtbl_contents
+ &(vtt_G19x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names140,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y6 : E19x2 , virtual F0 {
+ int ff;
+ ~G19x2y6(); // tgen
+ G19x2y6(); // tgen
+};
+//SIG(1 G19x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x2y6 ::~G19x2y6(){ note_dtor("G19x2y6", this);} // tgen
+G19x2y6 ::G19x2y6(){ note_ctor("G19x2y6", this);} // tgen
+
+static void Test_G19x2y6()
+{
+ extern Class_Descriptor cd_G19x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x2y6, buf);
+ G19x2y6 *dp, &lv = *(dp=new (buf) G19x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y6)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(24,20), "G19x2y6");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(8,4), "G19x2y6");
+ check_base_class_offset(lv, (C19*)(E19x2*), 0, "G19x2y6");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(40,28), "G19x2y6");
+ check_base_class_offset(lv, (E19x2*), 0, "G19x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G19x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x2y6.ff");
+ test_class_info(&lv, &cd_G19x2y6);
+ dp->~G19x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y6(Test_G19x2y6, "G19x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y6C1Ev();
+extern void _ZN7G19x2y6D1Ev();
+Name_Map name_map_G19x2y6[] = {
+ NSPAIR(_ZN7G19x2y6C1Ev),
+ NSPAIR(_ZN7G19x2y6D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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_C19, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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 _ZTI7G19x2y6[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y6[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y6[] = {
+ {&(_ZTV7G19x2y6[5]), 5,14},
+ {&(_tg__ZTV5E19x2__7G19x2y6[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y6[3]), 3,4},
+ {&(_ZTV7G19x2y6[9]), 9,14},
+ {&(_ZTV7G19x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G19x2y6[];
+extern VTBL_ENTRY _ZTV7G19x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y6[];
+static VTBL_ENTRY alt_thunk_names141[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y6 = { "G19x2y6", // class name
+ bases_G19x2y6, 6,
+ &(vtc_G19x2y6[0]), // expected_vtbl_contents
+ &(vtt_G19x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names141,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x2y7 : virtual E19x2 , virtual F0 {
+ int ff;
+ ~G19x2y7(); // tgen
+ G19x2y7(); // tgen
+};
+//SIG(1 G19x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x2y7 ::~G19x2y7(){ note_dtor("G19x2y7", this);} // tgen
+G19x2y7 ::G19x2y7(){ note_ctor("G19x2y7", this);} // tgen
+
+static void Test_G19x2y7()
+{
+ extern Class_Descriptor cd_G19x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x2y7, buf);
+ G19x2y7 *dp, &lv = *(dp=new (buf) G19x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x2y7)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x2*), ABISELECT(40,24), "G19x2y7");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x2*), ABISELECT(24,12), "G19x2y7");
+ check_base_class_offset(lv, (C19*)(E19x2*), ABISELECT(16,8), "G19x2y7");
+ check_base_class_offset(lv, (D1*)(E19x2*), ABISELECT(56,32), "G19x2y7");
+ check_base_class_offset(lv, (E19x2*), ABISELECT(16,8), "G19x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G19x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x2y7.ff");
+ test_class_info(&lv, &cd_G19x2y7);
+ dp->~G19x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x2y7(Test_G19x2y7, "G19x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x2y7C1Ev();
+extern void _ZN7G19x2y7D1Ev();
+Name_Map name_map_G19x2y7[] = {
+ NSPAIR(_ZN7G19x2y7C1Ev),
+ NSPAIR(_ZN7G19x2y7D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x2;
+extern VTBL_ENTRY _ZTI5E19x2[];
+extern VTBL_ENTRY _ZTV5E19x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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_C19, 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(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x2, 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 _ZTI7G19x2y7[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x2y7[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x2__7G19x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x2__7G19x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x2__7G19x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x2__7G19x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x2__7G19x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G19x2y7[] = {
+ {&(_ZTV7G19x2y7[6]), 6,20},
+ {&(_ZTV7G19x2y7[11]), 11,20},
+ {&(_ZTV7G19x2y7[15]), 15,20},
+ {&(_ZTV7G19x2y7[19]), 19,20},
+ {&(_tg__ZTV5E19x2__7G19x2y7[4]), 4,5},
+ {&(_tg__ZTV3C195E19x2__7G19x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x2__7G19x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x2__7G19x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x2__7G19x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x2y7[];
+extern VTBL_ENTRY _ZTV7G19x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x2y7[];
+static VTBL_ENTRY alt_thunk_names142[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x2y7 = { "G19x2y7", // class name
+ bases_G19x2y7, 6,
+ &(vtc_G19x2y7[0]), // expected_vtbl_contents
+ &(vtt_G19x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x2y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names142,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x2 : C20 , virtual D1 {
+ int fd;
+ ~E20x2(); // tgen
+ E20x2(); // tgen
+};
+//SIG(-1 E20x2) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E20x2 ::~E20x2(){ note_dtor("E20x2", this);} // tgen
+E20x2 ::E20x2(){ note_ctor("E20x2", this);} // tgen
+
+static void Test_E20x2()
+{
+ extern Class_Descriptor cd_E20x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E20x2, buf);
+ E20x2 *dp, &lv = *(dp=new (buf) E20x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E20x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x2)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(12,8), "E20x2");
+ check_base_class_offset(lv, (B1*)(C20*), 0, "E20x2");
+ check_base_class_offset(lv, (C20*), 0, "E20x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E20x2");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E20x2.fd");
+ test_class_info(&lv, &cd_E20x2);
+ dp->~E20x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x2(Test_E20x2, "E20x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E20x2C1Ev();
+extern void _ZN5E20x2D1Ev();
+Name_Map name_map_E20x2[] = {
+ NSPAIR(_ZN5E20x2C1Ev),
+ NSPAIR(_ZN5E20x2D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E20x2[] = {
+ // 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_C20, 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(24,20), //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 _ZTI5E20x2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E20x2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x2[];
+static VTT_ENTRY vtt_E20x2[] = {
+ {&(_ZTV5E20x2[3]), 3,8},
+ {&(_ZTV5E20x2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+Class_Descriptor cd_E20x2 = { "E20x2", // class name
+ bases_E20x2, 4,
+ &(vtc_E20x2[0]), // expected_vtbl_contents
+ &(vtt_E20x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E20x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x2),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 G20x2y0 : E20x2 , F1 {
+ int ff;
+ ~G20x2y0(); // tgen
+ G20x2y0(); // tgen
+};
+//SIG(1 G20x2y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x2y0 ::~G20x2y0(){ note_dtor("G20x2y0", this);} // tgen
+G20x2y0 ::G20x2y0(){ note_ctor("G20x2y0", this);} // tgen
+
+static void Test_G20x2y0()
+{
+ extern Class_Descriptor cd_G20x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x2y0, buf);
+ G20x2y0 *dp, &lv = *(dp=new (buf) G20x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y0)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(12,8), "G20x2y0");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), 0, "G20x2y0");
+ check_base_class_offset(lv, (C20*)(E20x2*), 0, "G20x2y0");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(40,32), "G20x2y0");
+ check_base_class_offset(lv, (E20x2*), 0, "G20x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G20x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G20x2y0.ff");
+ test_class_info(&lv, &cd_G20x2y0);
+ dp->~G20x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y0(Test_G20x2y0, "G20x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y0C1Ev();
+extern void _ZN7G20x2y0D1Ev();
+Name_Map name_map_G20x2y0[] = {
+ NSPAIR(_ZN7G20x2y0C1Ev),
+ NSPAIR(_ZN7G20x2y0D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x2y0[] = {
+ // 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_C20, 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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(24,20), //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x2y0[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y0[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y0[] = {
+ {&(_ZTV7G20x2y0[3]), 3,11},
+ {&(_tg__ZTV5E20x2__7G20x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y0[3]), 3,4},
+ {&(_ZTV7G20x2y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x2y0[];
+extern VTBL_ENTRY _ZTV7G20x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y0[];
+Class_Descriptor cd_G20x2y0 = { "G20x2y0", // class name
+ bases_G20x2y0, 6,
+ &(vtc_G20x2y0[0]), // expected_vtbl_contents
+ &(vtt_G20x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y0),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 G20x2y1 : virtual E20x2 , F1 {
+ int ff;
+ ~G20x2y1(); // tgen
+ G20x2y1(); // tgen
+};
+//SIG(1 G20x2y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x2y1 ::~G20x2y1(){ note_dtor("G20x2y1", this);} // tgen
+G20x2y1 ::G20x2y1(){ note_ctor("G20x2y1", this);} // tgen
+
+static void Test_G20x2y1()
+{
+ extern Class_Descriptor cd_G20x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x2y1, buf);
+ G20x2y1 *dp, &lv = *(dp=new (buf) G20x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y1)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(28,20), "G20x2y1");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), ABISELECT(16,12), "G20x2y1");
+ check_base_class_offset(lv, (C20*)(E20x2*), ABISELECT(16,12), "G20x2y1");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(40,32), "G20x2y1");
+ check_base_class_offset(lv, (E20x2*), ABISELECT(16,12), "G20x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x2y1.ff");
+ test_class_info(&lv, &cd_G20x2y1);
+ dp->~G20x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y1(Test_G20x2y1, "G20x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y1C1Ev();
+extern void _ZN7G20x2y1D1Ev();
+Name_Map name_map_G20x2y1[] = {
+ NSPAIR(_ZN7G20x2y1C1Ev),
+ NSPAIR(_ZN7G20x2y1D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x2y1[] = {
+ // 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C20, 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(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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 _ZTI7G20x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y1[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y1[] = {
+ {&(_ZTV7G20x2y1[4]), 4,14},
+ {&(_ZTV7G20x2y1[9]), 9,14},
+ {&(_ZTV7G20x2y1[13]), 13,14},
+ {&(_tg__ZTV5E20x2__7G20x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x2y1[];
+extern VTBL_ENTRY _ZTV7G20x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y1[];
+Class_Descriptor cd_G20x2y1 = { "G20x2y1", // class name
+ bases_G20x2y1, 6,
+ &(vtc_G20x2y1[0]), // expected_vtbl_contents
+ &(vtt_G20x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y1),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 G20x2y2 : E20x2 , virtual F1 {
+ int ff;
+ ~G20x2y2(); // tgen
+ G20x2y2(); // tgen
+};
+//SIG(1 G20x2y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x2y2 ::~G20x2y2(){ note_dtor("G20x2y2", this);} // tgen
+G20x2y2 ::G20x2y2(){ note_ctor("G20x2y2", this);} // tgen
+
+static void Test_G20x2y2()
+{
+ extern Class_Descriptor cd_G20x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x2y2, buf);
+ G20x2y2 *dp, &lv = *(dp=new (buf) G20x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y2)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(12,8), "G20x2y2");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), 0, "G20x2y2");
+ check_base_class_offset(lv, (C20*)(E20x2*), 0, "G20x2y2");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(32,24), "G20x2y2");
+ check_base_class_offset(lv, (E20x2*), 0, "G20x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x2y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G20x2y2.ff");
+ test_class_info(&lv, &cd_G20x2y2);
+ dp->~G20x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y2(Test_G20x2y2, "G20x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y2C1Ev();
+extern void _ZN7G20x2y2D1Ev();
+Name_Map name_map_G20x2y2[] = {
+ NSPAIR(_ZN7G20x2y2C1Ev),
+ NSPAIR(_ZN7G20x2y2D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x2y2[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C20, 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,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x2y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y2[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y2[] = {
+ {&(_ZTV7G20x2y2[4]), 4,13},
+ {&(_tg__ZTV5E20x2__7G20x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y2[3]), 3,4},
+ {&(_ZTV7G20x2y2[8]), 8,13},
+ {&(_ZTV7G20x2y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G20x2y2[];
+extern VTBL_ENTRY _ZTV7G20x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y2[];
+Class_Descriptor cd_G20x2y2 = { "G20x2y2", // class name
+ bases_G20x2y2, 6,
+ &(vtc_G20x2y2[0]), // expected_vtbl_contents
+ &(vtt_G20x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y2),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 G20x2y3 : virtual E20x2 , virtual F1 {
+ int ff;
+ ~G20x2y3(); // tgen
+ G20x2y3(); // tgen
+};
+//SIG(1 G20x2y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x2y3 ::~G20x2y3(){ note_dtor("G20x2y3", this);} // tgen
+G20x2y3 ::G20x2y3(){ note_ctor("G20x2y3", this);} // tgen
+
+static void Test_G20x2y3()
+{
+ extern Class_Descriptor cd_G20x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x2y3, buf);
+ G20x2y3 *dp, &lv = *(dp=new (buf) G20x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y3)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(28,16), "G20x2y3");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), ABISELECT(16,8), "G20x2y3");
+ check_base_class_offset(lv, (C20*)(E20x2*), ABISELECT(16,8), "G20x2y3");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(40,28), "G20x2y3");
+ check_base_class_offset(lv, (E20x2*), ABISELECT(16,8), "G20x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x2y3.ff");
+ test_class_info(&lv, &cd_G20x2y3);
+ dp->~G20x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y3(Test_G20x2y3, "G20x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y3C1Ev();
+extern void _ZN7G20x2y3D1Ev();
+Name_Map name_map_G20x2y3[] = {
+ NSPAIR(_ZN7G20x2y3C1Ev),
+ NSPAIR(_ZN7G20x2y3D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x2y3[] = {
+ // 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C20, 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(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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
+ 14, //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 _ZTI7G20x2y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y3[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y3[] = {
+ {&(_ZTV7G20x2y3[5]), 5,18},
+ {&(_ZTV7G20x2y3[9]), 9,18},
+ {&(_ZTV7G20x2y3[13]), 13,18},
+ {&(_ZTV7G20x2y3[17]), 17,18},
+ {&(_tg__ZTV5E20x2__7G20x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x2y3[];
+extern VTBL_ENTRY _ZTV7G20x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y3[];
+Class_Descriptor cd_G20x2y3 = { "G20x2y3", // class name
+ bases_G20x2y3, 6,
+ &(vtc_G20x2y3[0]), // expected_vtbl_contents
+ &(vtt_G20x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y3),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 G20x2y4 : E20x2 , F0 {
+ int ff;
+ ~G20x2y4(); // tgen
+ G20x2y4(); // tgen
+};
+//SIG(1 G20x2y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x2y4 ::~G20x2y4(){ note_dtor("G20x2y4", this);} // tgen
+G20x2y4 ::G20x2y4(){ note_ctor("G20x2y4", this);} // tgen
+
+static void Test_G20x2y4()
+{
+ extern Class_Descriptor cd_G20x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x2y4, buf);
+ G20x2y4 *dp, &lv = *(dp=new (buf) G20x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y4)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(12,8), "G20x2y4");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), 0, "G20x2y4");
+ check_base_class_offset(lv, (C20*)(E20x2*), 0, "G20x2y4");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(32,28), "G20x2y4");
+ check_base_class_offset(lv, (E20x2*), 0, "G20x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G20x2y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G20x2y4.ff");
+ test_class_info(&lv, &cd_G20x2y4);
+ dp->~G20x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y4(Test_G20x2y4, "G20x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y4C1Ev();
+extern void _ZN7G20x2y4D1Ev();
+Name_Map name_map_G20x2y4[] = {
+ NSPAIR(_ZN7G20x2y4C1Ev),
+ NSPAIR(_ZN7G20x2y4D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x2y4[] = {
+ // 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_C20, 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,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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(24,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 _ZTI7G20x2y4[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y4[] = {
+ {&(_ZTV7G20x2y4[3]), 3,8},
+ {&(_tg__ZTV5E20x2__7G20x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y4[3]), 3,4},
+ {&(_ZTV7G20x2y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x2y4[];
+extern VTBL_ENTRY _ZTV7G20x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y4[];
+Class_Descriptor cd_G20x2y4 = { "G20x2y4", // class name
+ bases_G20x2y4, 6,
+ &(vtc_G20x2y4[0]), // expected_vtbl_contents
+ &(vtt_G20x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y4),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 G20x2y5 : virtual E20x2 , F0 {
+ int ff;
+ ~G20x2y5(); // tgen
+ G20x2y5(); // tgen
+};
+//SIG(1 G20x2y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x2y5 ::~G20x2y5(){ note_dtor("G20x2y5", this);} // tgen
+G20x2y5 ::G20x2y5(){ note_ctor("G20x2y5", this);} // tgen
+
+static void Test_G20x2y5()
+{
+ extern Class_Descriptor cd_G20x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x2y5, buf);
+ G20x2y5 *dp, &lv = *(dp=new (buf) G20x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y5)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(28,20), "G20x2y5");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), ABISELECT(16,12), "G20x2y5");
+ check_base_class_offset(lv, (C20*)(E20x2*), ABISELECT(16,12), "G20x2y5");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(40,32), "G20x2y5");
+ check_base_class_offset(lv, (E20x2*), ABISELECT(16,12), "G20x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x2y5.ff");
+ test_class_info(&lv, &cd_G20x2y5);
+ dp->~G20x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y5(Test_G20x2y5, "G20x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y5C1Ev();
+extern void _ZN7G20x2y5D1Ev();
+Name_Map name_map_G20x2y5[] = {
+ NSPAIR(_ZN7G20x2y5C1Ev),
+ NSPAIR(_ZN7G20x2y5D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x2y5[] = {
+ // 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C20, 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(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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 _ZTI7G20x2y5[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y5[] = {
+ {&(_ZTV7G20x2y5[4]), 4,13},
+ {&(_ZTV7G20x2y5[8]), 8,13},
+ {&(_ZTV7G20x2y5[12]), 12,13},
+ {&(_tg__ZTV5E20x2__7G20x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x2y5[];
+extern VTBL_ENTRY _ZTV7G20x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y5[];
+Class_Descriptor cd_G20x2y5 = { "G20x2y5", // class name
+ bases_G20x2y5, 6,
+ &(vtc_G20x2y5[0]), // expected_vtbl_contents
+ &(vtt_G20x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y5),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 G20x2y6 : E20x2 , virtual F0 {
+ int ff;
+ ~G20x2y6(); // tgen
+ G20x2y6(); // tgen
+};
+//SIG(1 G20x2y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x2y6 ::~G20x2y6(){ note_dtor("G20x2y6", this);} // tgen
+G20x2y6 ::G20x2y6(){ note_ctor("G20x2y6", this);} // tgen
+
+static void Test_G20x2y6()
+{
+ extern Class_Descriptor cd_G20x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x2y6, buf);
+ G20x2y6 *dp, &lv = *(dp=new (buf) G20x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y6)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(12,8), "G20x2y6");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), 0, "G20x2y6");
+ check_base_class_offset(lv, (C20*)(E20x2*), 0, "G20x2y6");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(32,24), "G20x2y6");
+ check_base_class_offset(lv, (E20x2*), 0, "G20x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x2y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G20x2y6.ff");
+ test_class_info(&lv, &cd_G20x2y6);
+ dp->~G20x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y6(Test_G20x2y6, "G20x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y6C1Ev();
+extern void _ZN7G20x2y6D1Ev();
+Name_Map name_map_G20x2y6[] = {
+ NSPAIR(_ZN7G20x2y6C1Ev),
+ NSPAIR(_ZN7G20x2y6D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x2y6[] = {
+ // 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_C20, 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,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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(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 _ZTI7G20x2y6[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y6[] = {
+ {&(_ZTV7G20x2y6[4]), 4,9},
+ {&(_tg__ZTV5E20x2__7G20x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y6[3]), 3,4},
+ {&(_ZTV7G20x2y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G20x2y6[];
+extern VTBL_ENTRY _ZTV7G20x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y6[];
+Class_Descriptor cd_G20x2y6 = { "G20x2y6", // class name
+ bases_G20x2y6, 6,
+ &(vtc_G20x2y6[0]), // expected_vtbl_contents
+ &(vtt_G20x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y6),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 G20x2y7 : virtual E20x2 , virtual F0 {
+ int ff;
+ ~G20x2y7(); // tgen
+ G20x2y7(); // tgen
+};
+//SIG(1 G20x2y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x2y7 ::~G20x2y7(){ note_dtor("G20x2y7", this);} // tgen
+G20x2y7 ::G20x2y7(){ note_ctor("G20x2y7", this);} // tgen
+
+static void Test_G20x2y7()
+{
+ extern Class_Descriptor cd_G20x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x2y7, buf);
+ G20x2y7 *dp, &lv = *(dp=new (buf) G20x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x2y7)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x2*), ABISELECT(28,16), "G20x2y7");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x2*), ABISELECT(16,8), "G20x2y7");
+ check_base_class_offset(lv, (C20*)(E20x2*), ABISELECT(16,8), "G20x2y7");
+ check_base_class_offset(lv, (D1*)(E20x2*), ABISELECT(40,28), "G20x2y7");
+ check_base_class_offset(lv, (E20x2*), ABISELECT(16,8), "G20x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G20x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x2y7.ff");
+ test_class_info(&lv, &cd_G20x2y7);
+ dp->~G20x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x2y7(Test_G20x2y7, "G20x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x2y7C1Ev();
+extern void _ZN7G20x2y7D1Ev();
+Name_Map name_map_G20x2y7[] = {
+ NSPAIR(_ZN7G20x2y7C1Ev),
+ NSPAIR(_ZN7G20x2y7D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x2;
+extern VTBL_ENTRY _ZTI5E20x2[];
+extern VTBL_ENTRY _ZTV5E20x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x2y7[] = {
+ // 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C20, 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(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x2, 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 _ZTI7G20x2y7[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x2y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x2__7G20x2y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x2__7G20x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x2y7[] = {
+ {&(_ZTV7G20x2y7[5]), 5,14},
+ {&(_ZTV7G20x2y7[9]), 9,14},
+ {&(_ZTV7G20x2y7[13]), 13,14},
+ {&(_tg__ZTV5E20x2__7G20x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x2__7G20x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x2y7[];
+extern VTBL_ENTRY _ZTV7G20x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x2y7[];
+Class_Descriptor cd_G20x2y7 = { "G20x2y7", // class name
+ bases_G20x2y7, 6,
+ &(vtc_G20x2y7[0]), // expected_vtbl_contents
+ &(vtt_G20x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x2y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x2y7),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 E21x2 : C21 , virtual D1 {
+ int fd;
+ ~E21x2(); // tgen
+ E21x2(); // tgen
+};
+//SIG(-1 E21x2) C1{ BC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E21x2 ::~E21x2(){ note_dtor("E21x2", this);} // tgen
+E21x2 ::E21x2(){ note_ctor("E21x2", this);} // tgen
+
+static void Test_E21x2()
+{
+ extern Class_Descriptor cd_E21x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E21x2, buf);
+ E21x2 *dp, &lv = *(dp=new (buf) E21x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E21x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x2)");
+ check_base_class_offset(lv, (A1*)(C21*), 0, "E21x2");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(16,8), "E21x2");
+ check_base_class_offset(lv, (C21*), 0, "E21x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E21x2");
+ check_field_offset(lv, fd, ABISELECT(32,20), "E21x2.fd");
+ test_class_info(&lv, &cd_E21x2);
+ dp->~E21x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x2(Test_E21x2, "E21x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E21x2C1Ev();
+extern void _ZN5E21x2D1Ev();
+Name_Map name_map_E21x2[] = {
+ NSPAIR(_ZN5E21x2C1Ev),
+ NSPAIR(_ZN5E21x2D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E21x2[] = {
+ // 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_C21, 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_D1, ABISELECT(40,24), //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 _ZTI5E21x2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E21x2[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E21x2[];
+static VTT_ENTRY vtt_E21x2[] = {
+ {&(_ZTV5E21x2[3]), 3,11},
+ {&(_ZTV5E21x2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+Class_Descriptor cd_E21x2 = { "E21x2", // class name
+ bases_E21x2, 4,
+ &(vtc_E21x2[0]), // expected_vtbl_contents
+ &(vtt_E21x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E21x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x2),2, //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 G21x2y0 : E21x2 , F1 {
+ int ff;
+ ~G21x2y0(); // tgen
+ G21x2y0(); // tgen
+};
+//SIG(1 G21x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x2y0 ::~G21x2y0(){ note_dtor("G21x2y0", this);} // tgen
+G21x2y0 ::G21x2y0(){ note_ctor("G21x2y0", this);} // tgen
+
+static void Test_G21x2y0()
+{
+ extern Class_Descriptor cd_G21x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x2y0, buf);
+ G21x2y0 *dp, &lv = *(dp=new (buf) G21x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y0)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), 0, "G21x2y0");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y0");
+ check_base_class_offset(lv, (C21*)(E21x2*), 0, "G21x2y0");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(56,36), "G21x2y0");
+ check_base_class_offset(lv, (E21x2*), 0, "G21x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,24), "G21x2y0");
+ check_field_offset(lv, ff, ABISELECT(52,32), "G21x2y0.ff");
+ test_class_info(&lv, &cd_G21x2y0);
+ dp->~G21x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y0(Test_G21x2y0, "G21x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y0C1Ev();
+extern void _ZN7G21x2y0D1Ev();
+Name_Map name_map_G21x2y0[] = {
+ NSPAIR(_ZN7G21x2y0C1Ev),
+ NSPAIR(_ZN7G21x2y0D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x2y0[] = {
+ // 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_C21, 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(56,36), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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,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 _ZTI7G21x2y0[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y0[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y0[] = {
+ {&(_ZTV7G21x2y0[3]), 3,14},
+ {&(_tg__ZTV5E21x2__7G21x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y0[3]), 3,4},
+ {&(_ZTV7G21x2y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x2y0[];
+extern VTBL_ENTRY _ZTV7G21x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y0[];
+Class_Descriptor cd_G21x2y0 = { "G21x2y0", // class name
+ bases_G21x2y0, 6,
+ &(vtc_G21x2y0[0]), // expected_vtbl_contents
+ &(vtt_G21x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y0),14, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y0),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 G21x2y1 : virtual E21x2 , F1 {
+ int ff;
+ ~G21x2y1(); // tgen
+ G21x2y1(); // tgen
+};
+//SIG(1 G21x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x2y1 ::~G21x2y1(){ note_dtor("G21x2y1", this);} // tgen
+G21x2y1 ::G21x2y1(){ note_ctor("G21x2y1", this);} // tgen
+
+static void Test_G21x2y1()
+{
+ extern Class_Descriptor cd_G21x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x2y1, buf);
+ G21x2y1 *dp, &lv = *(dp=new (buf) G21x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y1)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), ABISELECT(16,12), "G21x2y1");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(32,20), "G21x2y1");
+ check_base_class_offset(lv, (C21*)(E21x2*), ABISELECT(16,12), "G21x2y1");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(56,36), "G21x2y1");
+ check_base_class_offset(lv, (E21x2*), ABISELECT(16,12), "G21x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x2y1.ff");
+ test_class_info(&lv, &cd_G21x2y1);
+ dp->~G21x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y1(Test_G21x2y1, "G21x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y1C1Ev();
+extern void _ZN7G21x2y1D1Ev();
+Name_Map name_map_G21x2y1[] = {
+ NSPAIR(_ZN7G21x2y1C1Ev),
+ NSPAIR(_ZN7G21x2y1D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x2y1[] = {
+ // 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(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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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 _ZTI7G21x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y1[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y1[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y1[] = {
+ {&(_ZTV7G21x2y1[4]), 4,17},
+ {&(_ZTV7G21x2y1[9]), 9,17},
+ {&(_ZTV7G21x2y1[12]), 12,17},
+ {&(_ZTV7G21x2y1[16]), 16,17},
+ {&(_tg__ZTV5E21x2__7G21x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x2y1[];
+extern VTBL_ENTRY _ZTV7G21x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y1[];
+Class_Descriptor cd_G21x2y1 = { "G21x2y1", // class name
+ bases_G21x2y1, 6,
+ &(vtc_G21x2y1[0]), // expected_vtbl_contents
+ &(vtt_G21x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y1),17, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y1),6, //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 G21x2y2 : E21x2 , virtual F1 {
+ int ff;
+ ~G21x2y2(); // tgen
+ G21x2y2(); // tgen
+};
+//SIG(1 G21x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x2y2 ::~G21x2y2(){ note_dtor("G21x2y2", this);} // tgen
+G21x2y2 ::G21x2y2(){ note_ctor("G21x2y2", this);} // tgen
+
+static void Test_G21x2y2()
+{
+ extern Class_Descriptor cd_G21x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x2y2, buf);
+ G21x2y2 *dp, &lv = *(dp=new (buf) G21x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y2)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), 0, "G21x2y2");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y2");
+ check_base_class_offset(lv, (C21*)(E21x2*), 0, "G21x2y2");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(40,28), "G21x2y2");
+ check_base_class_offset(lv, (E21x2*), 0, "G21x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x2y2");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G21x2y2.ff");
+ test_class_info(&lv, &cd_G21x2y2);
+ dp->~G21x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y2(Test_G21x2y2, "G21x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y2C1Ev();
+extern void _ZN7G21x2y2D1Ev();
+Name_Map name_map_G21x2y2[] = {
+ NSPAIR(_ZN7G21x2y2C1Ev),
+ NSPAIR(_ZN7G21x2y2D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x2y2[] = {
+ // 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(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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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)
+ 5, //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 _ZTI7G21x2y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y2[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y2[] = {
+ {&(_ZTV7G21x2y2[4]), 4,16},
+ {&(_tg__ZTV5E21x2__7G21x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y2[3]), 3,4},
+ {&(_ZTV7G21x2y2[11]), 11,16},
+ {&(_ZTV7G21x2y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G21x2y2[];
+extern VTBL_ENTRY _ZTV7G21x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y2[];
+Class_Descriptor cd_G21x2y2 = { "G21x2y2", // class name
+ bases_G21x2y2, 6,
+ &(vtc_G21x2y2[0]), // expected_vtbl_contents
+ &(vtt_G21x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y2),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y2),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 G21x2y3 : virtual E21x2 , virtual F1 {
+ int ff;
+ ~G21x2y3(); // tgen
+ G21x2y3(); // tgen
+};
+//SIG(1 G21x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x2y3 ::~G21x2y3(){ note_dtor("G21x2y3", this);} // tgen
+G21x2y3 ::G21x2y3(){ note_ctor("G21x2y3", this);} // tgen
+
+static void Test_G21x2y3()
+{
+ extern Class_Descriptor cd_G21x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G21x2y3, buf);
+ G21x2y3 *dp, &lv = *(dp=new (buf) G21x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G21x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y3)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y3");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(32,16), "G21x2y3");
+ check_base_class_offset(lv, (C21*)(E21x2*), ABISELECT(16,8), "G21x2y3");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(56,32), "G21x2y3");
+ check_base_class_offset(lv, (E21x2*), ABISELECT(16,8), "G21x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G21x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x2y3.ff");
+ test_class_info(&lv, &cd_G21x2y3);
+ dp->~G21x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y3(Test_G21x2y3, "G21x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y3C1Ev();
+extern void _ZN7G21x2y3D1Ev();
+Name_Map name_map_G21x2y3[] = {
+ NSPAIR(_ZN7G21x2y3C1Ev),
+ NSPAIR(_ZN7G21x2y3D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x2y3[] = {
+ // 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(32,16), //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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(72,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 _ZTI7G21x2y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y3[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y3[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y3[] = {
+ {&(_ZTV7G21x2y3[5]), 5,21},
+ {&(_ZTV7G21x2y3[9]), 9,21},
+ {&(_ZTV7G21x2y3[12]), 12,21},
+ {&(_ZTV7G21x2y3[16]), 16,21},
+ {&(_ZTV7G21x2y3[20]), 20,21},
+ {&(_tg__ZTV5E21x2__7G21x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x2y3[];
+extern VTBL_ENTRY _ZTV7G21x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y3[];
+Class_Descriptor cd_G21x2y3 = { "G21x2y3", // class name
+ bases_G21x2y3, 6,
+ &(vtc_G21x2y3[0]), // expected_vtbl_contents
+ &(vtt_G21x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G21x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y3),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y3),7, //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 G21x2y4 : E21x2 , F0 {
+ int ff;
+ ~G21x2y4(); // tgen
+ G21x2y4(); // tgen
+};
+//SIG(1 G21x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x2y4 ::~G21x2y4(){ note_dtor("G21x2y4", this);} // tgen
+G21x2y4 ::G21x2y4(){ note_ctor("G21x2y4", this);} // tgen
+
+static void Test_G21x2y4()
+{
+ extern Class_Descriptor cd_G21x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x2y4, buf);
+ G21x2y4 *dp, &lv = *(dp=new (buf) G21x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y4)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), 0, "G21x2y4");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y4");
+ check_base_class_offset(lv, (C21*)(E21x2*), 0, "G21x2y4");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(48,32), "G21x2y4");
+ check_base_class_offset(lv, (E21x2*), 0, "G21x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(36,24), "G21x2y4");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G21x2y4.ff");
+ test_class_info(&lv, &cd_G21x2y4);
+ dp->~G21x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y4(Test_G21x2y4, "G21x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y4C1Ev();
+extern void _ZN7G21x2y4D1Ev();
+Name_Map name_map_G21x2y4[] = {
+ NSPAIR(_ZN7G21x2y4C1Ev),
+ NSPAIR(_ZN7G21x2y4D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x2y4[] = {
+ // 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_C21, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x2y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y4[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y4[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y4[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y4[] = {
+ {&(_ZTV7G21x2y4[3]), 3,11},
+ {&(_tg__ZTV5E21x2__7G21x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y4[3]), 3,4},
+ {&(_ZTV7G21x2y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x2y4[];
+extern VTBL_ENTRY _ZTV7G21x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y4[];
+Class_Descriptor cd_G21x2y4 = { "G21x2y4", // class name
+ bases_G21x2y4, 6,
+ &(vtc_G21x2y4[0]), // expected_vtbl_contents
+ &(vtt_G21x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y4),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y4),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 G21x2y5 : virtual E21x2 , F0 {
+ int ff;
+ ~G21x2y5(); // tgen
+ G21x2y5(); // tgen
+};
+//SIG(1 G21x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x2y5 ::~G21x2y5(){ note_dtor("G21x2y5", this);} // tgen
+G21x2y5 ::G21x2y5(){ note_ctor("G21x2y5", this);} // tgen
+
+static void Test_G21x2y5()
+{
+ extern Class_Descriptor cd_G21x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x2y5, buf);
+ G21x2y5 *dp, &lv = *(dp=new (buf) G21x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y5)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), ABISELECT(16,12), "G21x2y5");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(32,20), "G21x2y5");
+ check_base_class_offset(lv, (C21*)(E21x2*), ABISELECT(16,12), "G21x2y5");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(56,36), "G21x2y5");
+ check_base_class_offset(lv, (E21x2*), ABISELECT(16,12), "G21x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x2y5.ff");
+ test_class_info(&lv, &cd_G21x2y5);
+ dp->~G21x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y5(Test_G21x2y5, "G21x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y5C1Ev();
+extern void _ZN7G21x2y5D1Ev();
+Name_Map name_map_G21x2y5[] = {
+ NSPAIR(_ZN7G21x2y5C1Ev),
+ NSPAIR(_ZN7G21x2y5D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x2y5[] = {
+ // 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(32,20), //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 12, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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 _ZTI7G21x2y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y5[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y5[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y5[] = {
+ {&(_ZTV7G21x2y5[4]), 4,16},
+ {&(_ZTV7G21x2y5[8]), 8,16},
+ {&(_ZTV7G21x2y5[11]), 11,16},
+ {&(_ZTV7G21x2y5[15]), 15,16},
+ {&(_tg__ZTV5E21x2__7G21x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x2y5[];
+extern VTBL_ENTRY _ZTV7G21x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y5[];
+Class_Descriptor cd_G21x2y5 = { "G21x2y5", // class name
+ bases_G21x2y5, 6,
+ &(vtc_G21x2y5[0]), // expected_vtbl_contents
+ &(vtt_G21x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y5),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y5),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 G21x2y6 : E21x2 , virtual F0 {
+ int ff;
+ ~G21x2y6(); // tgen
+ G21x2y6(); // tgen
+};
+//SIG(1 G21x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x2y6 ::~G21x2y6(){ note_dtor("G21x2y6", this);} // tgen
+G21x2y6 ::G21x2y6(){ note_ctor("G21x2y6", this);} // tgen
+
+static void Test_G21x2y6()
+{
+ extern Class_Descriptor cd_G21x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x2y6, buf);
+ G21x2y6 *dp, &lv = *(dp=new (buf) G21x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y6)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), 0, "G21x2y6");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y6");
+ check_base_class_offset(lv, (C21*)(E21x2*), 0, "G21x2y6");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(40,28), "G21x2y6");
+ check_base_class_offset(lv, (E21x2*), 0, "G21x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G21x2y6");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G21x2y6.ff");
+ test_class_info(&lv, &cd_G21x2y6);
+ dp->~G21x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y6(Test_G21x2y6, "G21x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y6C1Ev();
+extern void _ZN7G21x2y6D1Ev();
+Name_Map name_map_G21x2y6[] = {
+ NSPAIR(_ZN7G21x2y6C1Ev),
+ NSPAIR(_ZN7G21x2y6D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x2y6[] = {
+ // 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
+ 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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 _ZTI7G21x2y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y6[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y6[] = {
+ {&(_ZTV7G21x2y6[4]), 4,12},
+ {&(_tg__ZTV5E21x2__7G21x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y6[3]), 3,4},
+ {&(_ZTV7G21x2y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G21x2y6[];
+extern VTBL_ENTRY _ZTV7G21x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y6[];
+Class_Descriptor cd_G21x2y6 = { "G21x2y6", // class name
+ bases_G21x2y6, 6,
+ &(vtc_G21x2y6[0]), // expected_vtbl_contents
+ &(vtt_G21x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y6),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y6),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 G21x2y7 : virtual E21x2 , virtual F0 {
+ int ff;
+ ~G21x2y7(); // tgen
+ G21x2y7(); // tgen
+};
+//SIG(1 G21x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x2y7 ::~G21x2y7(){ note_dtor("G21x2y7", this);} // tgen
+G21x2y7 ::G21x2y7(){ note_ctor("G21x2y7", this);} // tgen
+
+static void Test_G21x2y7()
+{
+ extern Class_Descriptor cd_G21x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x2y7, buf);
+ G21x2y7 *dp, &lv = *(dp=new (buf) G21x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x2y7)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x2*), ABISELECT(16,8), "G21x2y7");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x2*), ABISELECT(32,16), "G21x2y7");
+ check_base_class_offset(lv, (C21*)(E21x2*), ABISELECT(16,8), "G21x2y7");
+ check_base_class_offset(lv, (D1*)(E21x2*), ABISELECT(56,32), "G21x2y7");
+ check_base_class_offset(lv, (E21x2*), ABISELECT(16,8), "G21x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G21x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x2y7.ff");
+ test_class_info(&lv, &cd_G21x2y7);
+ dp->~G21x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x2y7(Test_G21x2y7, "G21x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x2y7C1Ev();
+extern void _ZN7G21x2y7D1Ev();
+Name_Map name_map_G21x2y7[] = {
+ NSPAIR(_ZN7G21x2y7C1Ev),
+ NSPAIR(_ZN7G21x2y7D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x2;
+extern VTBL_ENTRY _ZTI5E21x2[];
+extern VTBL_ENTRY _ZTV5E21x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x2y7[] = {
+ // 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(32,16), //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x2, 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(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 _ZTI7G21x2y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x2y7[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x2__7G21x2y7[] = {
+ ABISELECT(40,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x2__7G21x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x2y7[] = {
+ {&(_ZTV7G21x2y7[5]), 5,17},
+ {&(_ZTV7G21x2y7[9]), 9,17},
+ {&(_ZTV7G21x2y7[12]), 12,17},
+ {&(_ZTV7G21x2y7[16]), 16,17},
+ {&(_tg__ZTV5E21x2__7G21x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E21x2__7G21x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x2y7[];
+extern VTBL_ENTRY _ZTV7G21x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x2y7[];
+Class_Descriptor cd_G21x2y7 = { "G21x2y7", // class name
+ bases_G21x2y7, 6,
+ &(vtc_G21x2y7[0]), // expected_vtbl_contents
+ &(vtt_G21x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x2y7),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x2y7),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 E22x2 : C22 , virtual D1 {
+ int fd;
+ ~E22x2(); // tgen
+ E22x2(); // tgen
+};
+//SIG(-1 E22x2) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E22x2 ::~E22x2(){ note_dtor("E22x2", this);} // tgen
+E22x2 ::E22x2(){ note_ctor("E22x2", this);} // tgen
+
+static void Test_E22x2()
+{
+ extern Class_Descriptor cd_E22x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E22x2, buf);
+ E22x2 *dp, &lv = *(dp=new (buf) E22x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E22x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x2)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(20,16), "E22x2");
+ check_base_class_offset(lv, (B1*)(C22*), 0, "E22x2");
+ check_base_class_offset(lv, (C22*), 0, "E22x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E22x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E22x2.fd");
+ test_class_info(&lv, &cd_E22x2);
+ dp->~E22x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x2(Test_E22x2, "E22x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E22x2C1Ev();
+extern void _ZN5E22x2D1Ev();
+Name_Map name_map_E22x2[] = {
+ NSPAIR(_ZN5E22x2C1Ev),
+ NSPAIR(_ZN5E22x2D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E22x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 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_C22, 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(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E22x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x2[] = {
+ {&(_ZTV5E22x2[4]), 4,9},
+ {&(_tg__ZTV3C22__5E22x2[3]), 3,4},
+ {&(_ZTV5E22x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+Class_Descriptor cd_E22x2 = { "E22x2", // class name
+ bases_E22x2, 4,
+ &(vtc_E22x2[0]), // expected_vtbl_contents
+ &(vtt_E22x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E22x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x2),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 G22x2y0 : E22x2 , F1 {
+ int ff;
+ ~G22x2y0(); // tgen
+ G22x2y0(); // tgen
+};
+//SIG(1 G22x2y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x2y0 ::~G22x2y0(){ note_dtor("G22x2y0", this);} // tgen
+G22x2y0 ::G22x2y0(){ note_ctor("G22x2y0", this);} // tgen
+
+static void Test_G22x2y0()
+{
+ extern Class_Descriptor cd_G22x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x2y0, buf);
+ G22x2y0 *dp, &lv = *(dp=new (buf) G22x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y0)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(40,28), "G22x2y0");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), 0, "G22x2y0");
+ check_base_class_offset(lv, (C22*)(E22x2*), 0, "G22x2y0");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(48,32), "G22x2y0");
+ check_base_class_offset(lv, (E22x2*), 0, "G22x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G22x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G22x2y0.ff");
+ test_class_info(&lv, &cd_G22x2y0);
+ dp->~G22x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y0(Test_G22x2y0, "G22x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y0C1Ev();
+extern void _ZN7G22x2y0D1Ev();
+Name_Map name_map_G22x2y0[] = {
+ NSPAIR(_ZN7G22x2y0C1Ev),
+ NSPAIR(_ZN7G22x2y0D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x2y0[] = {
+ // 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, 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_C22, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x2y0[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y0[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y0[] = {
+ {&(_ZTV7G22x2y0[4]), 4,12},
+ {&(_tg__ZTV5E22x2__7G22x2y0[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y0[3]), 3,4},
+ {&(_ZTV7G22x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G22x2y0[];
+extern VTBL_ENTRY _ZTV7G22x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y0[];
+Class_Descriptor cd_G22x2y0 = { "G22x2y0", // class name
+ bases_G22x2y0, 6,
+ &(vtc_G22x2y0[0]), // expected_vtbl_contents
+ &(vtt_G22x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y0),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 G22x2y1 : virtual E22x2 , F1 {
+ int ff;
+ ~G22x2y1(); // tgen
+ G22x2y1(); // tgen
+};
+//SIG(1 G22x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x2y1 ::~G22x2y1(){ note_dtor("G22x2y1", this);} // tgen
+G22x2y1 ::G22x2y1(){ note_ctor("G22x2y1", this);} // tgen
+
+static void Test_G22x2y1()
+{
+ extern Class_Descriptor cd_G22x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x2y1, buf);
+ G22x2y1 *dp, &lv = *(dp=new (buf) G22x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y1)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(36,28), "G22x2y1");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), ABISELECT(16,12), "G22x2y1");
+ check_base_class_offset(lv, (C22*)(E22x2*), ABISELECT(16,12), "G22x2y1");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(40,32), "G22x2y1");
+ check_base_class_offset(lv, (E22x2*), ABISELECT(16,12), "G22x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x2y1.ff");
+ test_class_info(&lv, &cd_G22x2y1);
+ dp->~G22x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y1(Test_G22x2y1, "G22x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y1C1Ev();
+extern void _ZN7G22x2y1D1Ev();
+Name_Map name_map_G22x2y1[] = {
+ NSPAIR(_ZN7G22x2y1C1Ev),
+ NSPAIR(_ZN7G22x2y1D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x2y1[] = {
+ // 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, 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_C22, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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
+ 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 _ZTI7G22x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y1[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y1[] = {
+ {&(_ZTV7G22x2y1[5]), 5,16},
+ {&(_ZTV7G22x2y1[11]), 11,16},
+ {&(_ZTV7G22x2y1[15]), 15,16},
+ {&(_tg__ZTV5E22x2__7G22x2y1[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x2y1[];
+extern VTBL_ENTRY _ZTV7G22x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y1[];
+Class_Descriptor cd_G22x2y1 = { "G22x2y1", // class name
+ bases_G22x2y1, 6,
+ &(vtc_G22x2y1[0]), // expected_vtbl_contents
+ &(vtt_G22x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y1),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 G22x2y2 : E22x2 , virtual F1 {
+ int ff;
+ ~G22x2y2(); // tgen
+ G22x2y2(); // tgen
+};
+//SIG(1 G22x2y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x2y2 ::~G22x2y2(){ note_dtor("G22x2y2", this);} // tgen
+G22x2y2 ::G22x2y2(){ note_ctor("G22x2y2", this);} // tgen
+
+static void Test_G22x2y2()
+{
+ extern Class_Descriptor cd_G22x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x2y2, buf);
+ G22x2y2 *dp, &lv = *(dp=new (buf) G22x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y2)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(24,20), "G22x2y2");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), 0, "G22x2y2");
+ check_base_class_offset(lv, (C22*)(E22x2*), 0, "G22x2y2");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(32,24), "G22x2y2");
+ check_base_class_offset(lv, (E22x2*), 0, "G22x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G22x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x2y2.ff");
+ test_class_info(&lv, &cd_G22x2y2);
+ dp->~G22x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y2(Test_G22x2y2, "G22x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y2C1Ev();
+extern void _ZN7G22x2y2D1Ev();
+Name_Map name_map_G22x2y2[] = {
+ NSPAIR(_ZN7G22x2y2C1Ev),
+ NSPAIR(_ZN7G22x2y2D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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, 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_C22, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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(48,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x2y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y2[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y2[] = {
+ {&(_ZTV7G22x2y2[5]), 5,14},
+ {&(_tg__ZTV5E22x2__7G22x2y2[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y2[3]), 3,4},
+ {&(_ZTV7G22x2y2[9]), 9,14},
+ {&(_ZTV7G22x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G22x2y2[];
+extern VTBL_ENTRY _ZTV7G22x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y2[];
+Class_Descriptor cd_G22x2y2 = { "G22x2y2", // class name
+ bases_G22x2y2, 6,
+ &(vtc_G22x2y2[0]), // expected_vtbl_contents
+ &(vtt_G22x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y2),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 G22x2y3 : virtual E22x2 , virtual F1 {
+ int ff;
+ ~G22x2y3(); // tgen
+ G22x2y3(); // tgen
+};
+//SIG(1 G22x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x2y3 ::~G22x2y3(){ note_dtor("G22x2y3", this);} // tgen
+G22x2y3 ::G22x2y3(){ note_ctor("G22x2y3", this);} // tgen
+
+static void Test_G22x2y3()
+{
+ extern Class_Descriptor cd_G22x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x2y3, buf);
+ G22x2y3 *dp, &lv = *(dp=new (buf) G22x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y3)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(36,24), "G22x2y3");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), ABISELECT(16,8), "G22x2y3");
+ check_base_class_offset(lv, (C22*)(E22x2*), ABISELECT(16,8), "G22x2y3");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(40,28), "G22x2y3");
+ check_base_class_offset(lv, (E22x2*), ABISELECT(16,8), "G22x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x2y3.ff");
+ test_class_info(&lv, &cd_G22x2y3);
+ dp->~G22x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y3(Test_G22x2y3, "G22x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y3C1Ev();
+extern void _ZN7G22x2y3D1Ev();
+Name_Map name_map_G22x2y3[] = {
+ NSPAIR(_ZN7G22x2y3C1Ev),
+ NSPAIR(_ZN7G22x2y3D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x2y3[] = {
+ // 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(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_C22, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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_F1, ABISELECT(56,36), //bcp->offset
+ 16, //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 _ZTI7G22x2y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y3[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y3[] = {
+ {&(_ZTV7G22x2y3[6]), 6,20},
+ {&(_ZTV7G22x2y3[11]), 11,20},
+ {&(_ZTV7G22x2y3[15]), 15,20},
+ {&(_ZTV7G22x2y3[19]), 19,20},
+ {&(_tg__ZTV5E22x2__7G22x2y3[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x2y3[];
+extern VTBL_ENTRY _ZTV7G22x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y3[];
+Class_Descriptor cd_G22x2y3 = { "G22x2y3", // class name
+ bases_G22x2y3, 6,
+ &(vtc_G22x2y3[0]), // expected_vtbl_contents
+ &(vtt_G22x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y3),7, //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 G22x2y4 : E22x2 , F0 {
+ int ff;
+ ~G22x2y4(); // tgen
+ G22x2y4(); // tgen
+};
+//SIG(1 G22x2y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x2y4 ::~G22x2y4(){ note_dtor("G22x2y4", this);} // tgen
+G22x2y4 ::G22x2y4(){ note_ctor("G22x2y4", this);} // tgen
+
+static void Test_G22x2y4()
+{
+ extern Class_Descriptor cd_G22x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x2y4, buf);
+ G22x2y4 *dp, &lv = *(dp=new (buf) G22x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y4)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(28,24), "G22x2y4");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), 0, "G22x2y4");
+ check_base_class_offset(lv, (C22*)(E22x2*), 0, "G22x2y4");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(32,28), "G22x2y4");
+ check_base_class_offset(lv, (E22x2*), 0, "G22x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G22x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G22x2y4.ff");
+ test_class_info(&lv, &cd_G22x2y4);
+ dp->~G22x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y4(Test_G22x2y4, "G22x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y4C1Ev();
+extern void _ZN7G22x2y4D1Ev();
+Name_Map name_map_G22x2y4[] = {
+ NSPAIR(_ZN7G22x2y4C1Ev),
+ NSPAIR(_ZN7G22x2y4D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_C22, 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x2y4[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y4[] = {
+ {&(_ZTV7G22x2y4[4]), 4,9},
+ {&(_tg__ZTV5E22x2__7G22x2y4[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y4[3]), 3,4},
+ {&(_ZTV7G22x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G22x2y4[];
+extern VTBL_ENTRY _ZTV7G22x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y4[];
+Class_Descriptor cd_G22x2y4 = { "G22x2y4", // class name
+ bases_G22x2y4, 6,
+ &(vtc_G22x2y4[0]), // expected_vtbl_contents
+ &(vtt_G22x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y4),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 G22x2y5 : virtual E22x2 , F0 {
+ int ff;
+ ~G22x2y5(); // tgen
+ G22x2y5(); // tgen
+};
+//SIG(1 G22x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x2y5 ::~G22x2y5(){ note_dtor("G22x2y5", this);} // tgen
+G22x2y5 ::G22x2y5(){ note_ctor("G22x2y5", this);} // tgen
+
+static void Test_G22x2y5()
+{
+ extern Class_Descriptor cd_G22x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x2y5, buf);
+ G22x2y5 *dp, &lv = *(dp=new (buf) G22x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y5)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(36,28), "G22x2y5");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), ABISELECT(16,12), "G22x2y5");
+ check_base_class_offset(lv, (C22*)(E22x2*), ABISELECT(16,12), "G22x2y5");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(40,32), "G22x2y5");
+ check_base_class_offset(lv, (E22x2*), ABISELECT(16,12), "G22x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x2y5.ff");
+ test_class_info(&lv, &cd_G22x2y5);
+ dp->~G22x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y5(Test_G22x2y5, "G22x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y5C1Ev();
+extern void _ZN7G22x2y5D1Ev();
+Name_Map name_map_G22x2y5[] = {
+ NSPAIR(_ZN7G22x2y5C1Ev),
+ NSPAIR(_ZN7G22x2y5D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x2y5[] = {
+ // 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, 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_C22, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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
+ 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 _ZTI7G22x2y5[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y5[] = {
+ {&(_ZTV7G22x2y5[5]), 5,15},
+ {&(_ZTV7G22x2y5[10]), 10,15},
+ {&(_ZTV7G22x2y5[14]), 14,15},
+ {&(_tg__ZTV5E22x2__7G22x2y5[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x2y5[];
+extern VTBL_ENTRY _ZTV7G22x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y5[];
+Class_Descriptor cd_G22x2y5 = { "G22x2y5", // class name
+ bases_G22x2y5, 6,
+ &(vtc_G22x2y5[0]), // expected_vtbl_contents
+ &(vtt_G22x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y5),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 G22x2y6 : E22x2 , virtual F0 {
+ int ff;
+ ~G22x2y6(); // tgen
+ G22x2y6(); // tgen
+};
+//SIG(1 G22x2y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x2y6 ::~G22x2y6(){ note_dtor("G22x2y6", this);} // tgen
+G22x2y6 ::G22x2y6(){ note_ctor("G22x2y6", this);} // tgen
+
+static void Test_G22x2y6()
+{
+ extern Class_Descriptor cd_G22x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x2y6, buf);
+ G22x2y6 *dp, &lv = *(dp=new (buf) G22x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y6)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(24,20), "G22x2y6");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), 0, "G22x2y6");
+ check_base_class_offset(lv, (C22*)(E22x2*), 0, "G22x2y6");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(32,24), "G22x2y6");
+ check_base_class_offset(lv, (E22x2*), 0, "G22x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G22x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x2y6.ff");
+ test_class_info(&lv, &cd_G22x2y6);
+ dp->~G22x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y6(Test_G22x2y6, "G22x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y6C1Ev();
+extern void _ZN7G22x2y6D1Ev();
+Name_Map name_map_G22x2y6[] = {
+ NSPAIR(_ZN7G22x2y6C1Ev),
+ NSPAIR(_ZN7G22x2y6D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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, 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_C22, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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(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 _ZTI7G22x2y6[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y6[] = {
+ {&(_ZTV7G22x2y6[5]), 5,10},
+ {&(_tg__ZTV5E22x2__7G22x2y6[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y6[3]), 3,4},
+ {&(_ZTV7G22x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G22x2y6[];
+extern VTBL_ENTRY _ZTV7G22x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y6[];
+Class_Descriptor cd_G22x2y6 = { "G22x2y6", // class name
+ bases_G22x2y6, 6,
+ &(vtc_G22x2y6[0]), // expected_vtbl_contents
+ &(vtt_G22x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y6),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 G22x2y7 : virtual E22x2 , virtual F0 {
+ int ff;
+ ~G22x2y7(); // tgen
+ G22x2y7(); // tgen
+};
+//SIG(1 G22x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x2y7 ::~G22x2y7(){ note_dtor("G22x2y7", this);} // tgen
+G22x2y7 ::G22x2y7(){ note_ctor("G22x2y7", this);} // tgen
+
+static void Test_G22x2y7()
+{
+ extern Class_Descriptor cd_G22x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x2y7, buf);
+ G22x2y7 *dp, &lv = *(dp=new (buf) G22x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x2y7)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x2*), ABISELECT(36,24), "G22x2y7");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x2*), ABISELECT(16,8), "G22x2y7");
+ check_base_class_offset(lv, (C22*)(E22x2*), ABISELECT(16,8), "G22x2y7");
+ check_base_class_offset(lv, (D1*)(E22x2*), ABISELECT(40,28), "G22x2y7");
+ check_base_class_offset(lv, (E22x2*), ABISELECT(16,8), "G22x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G22x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x2y7.ff");
+ test_class_info(&lv, &cd_G22x2y7);
+ dp->~G22x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x2y7(Test_G22x2y7, "G22x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x2y7C1Ev();
+extern void _ZN7G22x2y7D1Ev();
+Name_Map name_map_G22x2y7[] = {
+ NSPAIR(_ZN7G22x2y7C1Ev),
+ NSPAIR(_ZN7G22x2y7D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x2;
+extern VTBL_ENTRY _ZTI5E22x2[];
+extern VTBL_ENTRY _ZTV5E22x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x2y7[] = {
+ // 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(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_C22, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x2, 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
+ 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 _ZTI7G22x2y7[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x2y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x2__7G22x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x2__7G22x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x2__7G22x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G22x2y7[] = {
+ {&(_ZTV7G22x2y7[6]), 6,16},
+ {&(_ZTV7G22x2y7[11]), 11,16},
+ {&(_ZTV7G22x2y7[15]), 15,16},
+ {&(_tg__ZTV5E22x2__7G22x2y7[4]), 4,5},
+ {&(_tg__ZTV3C225E22x2__7G22x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E22x2__7G22x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x2y7[];
+extern VTBL_ENTRY _ZTV7G22x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x2y7[];
+Class_Descriptor cd_G22x2y7 = { "G22x2y7", // class name
+ bases_G22x2y7, 6,
+ &(vtc_G22x2y7[0]), // expected_vtbl_contents
+ &(vtt_G22x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x2y7),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 E23x2 : C23 , virtual D1 {
+ int fd;
+ ~E23x2(); // tgen
+ E23x2(); // tgen
+};
+//SIG(-1 E23x2) C1{ BC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E23x2 ::~E23x2(){ note_dtor("E23x2", this);} // tgen
+E23x2 ::E23x2(){ note_ctor("E23x2", this);} // tgen
+
+static void Test_E23x2()
+{
+ extern Class_Descriptor cd_E23x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E23x2, buf);
+ E23x2 *dp, &lv = *(dp=new (buf) E23x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E23x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x2)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(24,16), "E23x2");
+ check_base_class_offset(lv, (B1*)(C23*), 0, "E23x2");
+ check_base_class_offset(lv, (C23*), 0, "E23x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E23x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E23x2.fd");
+ test_class_info(&lv, &cd_E23x2);
+ dp->~E23x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x2(Test_E23x2, "E23x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E23x2C1Ev();
+extern void _ZN5E23x2D1Ev();
+Name_Map name_map_E23x2[] = {
+ NSPAIR(_ZN5E23x2C1Ev),
+ NSPAIR(_ZN5E23x2D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E23x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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_D1, ABISELECT(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E23x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__5E23x2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x2[] = {
+ {&(_ZTV5E23x2[4]), 4,13},
+ {&(_tg__ZTV3C23__5E23x2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x2[3]), 3,4},
+ {&(_ZTV5E23x2[8]), 8,13},
+ {&(_ZTV5E23x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+static VTBL_ENTRY alt_thunk_names143[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E23x2 = { "E23x2", // class name
+ bases_E23x2, 4,
+ &(vtc_E23x2[0]), // expected_vtbl_contents
+ &(vtt_E23x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E23x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x2),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names143,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y0 : E23x2 , F1 {
+ int ff;
+ ~G23x2y0(); // tgen
+ G23x2y0(); // tgen
+};
+//SIG(1 G23x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x2y0 ::~G23x2y0(){ note_dtor("G23x2y0", this);} // tgen
+G23x2y0 ::G23x2y0(){ note_ctor("G23x2y0", this);} // tgen
+
+static void Test_G23x2y0()
+{
+ extern Class_Descriptor cd_G23x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x2y0, buf);
+ G23x2y0 *dp, &lv = *(dp=new (buf) G23x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y0)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(40,28), "G23x2y0");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), 0, "G23x2y0");
+ check_base_class_offset(lv, (C23*)(E23x2*), 0, "G23x2y0");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(56,36), "G23x2y0");
+ check_base_class_offset(lv, (E23x2*), 0, "G23x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G23x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G23x2y0.ff");
+ test_class_info(&lv, &cd_G23x2y0);
+ dp->~G23x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y0(Test_G23x2y0, "G23x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y0C1Ev();
+extern void _ZN7G23x2y0D1Ev();
+Name_Map name_map_G23x2y0[] = {
+ NSPAIR(_ZN7G23x2y0C1Ev),
+ NSPAIR(_ZN7G23x2y0D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x2y0[] = {
+ // 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)
+ 7, //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_C23, 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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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(24,16), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x2y0[];
+extern void _ZN3C233fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y0[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y0[] = {
+ {&(_ZTV7G23x2y0[4]), 4,16},
+ {&(_tg__ZTV5E23x2__7G23x2y0[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y0[3]), 3,4},
+ {&(_ZTV7G23x2y0[11]), 11,16},
+ {&(_ZTV7G23x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G23x2y0[];
+extern VTBL_ENTRY _ZTV7G23x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y0[];
+static VTBL_ENTRY alt_thunk_names144[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y0 = { "G23x2y0", // class name
+ bases_G23x2y0, 6,
+ &(vtc_G23x2y0[0]), // expected_vtbl_contents
+ &(vtt_G23x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y0),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names144,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y1 : virtual E23x2 , F1 {
+ int ff;
+ ~G23x2y1(); // tgen
+ G23x2y1(); // tgen
+};
+//SIG(1 G23x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x2y1 ::~G23x2y1(){ note_dtor("G23x2y1", this);} // tgen
+G23x2y1 ::G23x2y1(){ note_ctor("G23x2y1", this);} // tgen
+
+static void Test_G23x2y1()
+{
+ extern Class_Descriptor cd_G23x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x2y1, buf);
+ G23x2y1 *dp, &lv = *(dp=new (buf) G23x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y1)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(40,28), "G23x2y1");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), ABISELECT(16,12), "G23x2y1");
+ check_base_class_offset(lv, (C23*)(E23x2*), ABISELECT(16,12), "G23x2y1");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(56,36), "G23x2y1");
+ check_base_class_offset(lv, (E23x2*), ABISELECT(16,12), "G23x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x2y1.ff");
+ test_class_info(&lv, &cd_G23x2y1);
+ dp->~G23x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y1(Test_G23x2y1, "G23x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y1C1Ev();
+extern void _ZN7G23x2y1D1Ev();
+Name_Map name_map_G23x2y1[] = {
+ NSPAIR(_ZN7G23x2y1C1Ev),
+ NSPAIR(_ZN7G23x2y1D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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
+ 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 _ZTI7G23x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y1[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y1[] = {
+ {&(_ZTV7G23x2y1[5]), 5,20},
+ {&(_ZTV7G23x2y1[11]), 11,20},
+ {&(_ZTV7G23x2y1[15]), 15,20},
+ {&(_ZTV7G23x2y1[19]), 19,20},
+ {&(_tg__ZTV5E23x2__7G23x2y1[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x2y1[];
+extern VTBL_ENTRY _ZTV7G23x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y1[];
+static VTBL_ENTRY alt_thunk_names145[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y1 = { "G23x2y1", // class name
+ bases_G23x2y1, 6,
+ &(vtc_G23x2y1[0]), // expected_vtbl_contents
+ &(vtt_G23x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y1),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names145,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y2 : E23x2 , virtual F1 {
+ int ff;
+ ~G23x2y2(); // tgen
+ G23x2y2(); // tgen
+};
+//SIG(1 G23x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x2y2 ::~G23x2y2(){ note_dtor("G23x2y2", this);} // tgen
+G23x2y2 ::G23x2y2(){ note_ctor("G23x2y2", this);} // tgen
+
+static void Test_G23x2y2()
+{
+ extern Class_Descriptor cd_G23x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x2y2, buf);
+ G23x2y2 *dp, &lv = *(dp=new (buf) G23x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y2)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(24,20), "G23x2y2");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), 0, "G23x2y2");
+ check_base_class_offset(lv, (C23*)(E23x2*), 0, "G23x2y2");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(40,28), "G23x2y2");
+ check_base_class_offset(lv, (E23x2*), 0, "G23x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x2y2.ff");
+ test_class_info(&lv, &cd_G23x2y2);
+ dp->~G23x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y2(Test_G23x2y2, "G23x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y2C1Ev();
+extern void _ZN7G23x2y2D1Ev();
+Name_Map name_map_G23x2y2[] = {
+ NSPAIR(_ZN7G23x2y2C1Ev),
+ NSPAIR(_ZN7G23x2y2D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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
+ 4, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x2y2[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y2[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y2[] = {
+ {&(_ZTV7G23x2y2[5]), 5,18},
+ {&(_tg__ZTV5E23x2__7G23x2y2[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y2[3]), 3,4},
+ {&(_ZTV7G23x2y2[9]), 9,18},
+ {&(_ZTV7G23x2y2[13]), 13,18},
+ {&(_ZTV7G23x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G23x2y2[];
+extern VTBL_ENTRY _ZTV7G23x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y2[];
+static VTBL_ENTRY alt_thunk_names146[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y2 = { "G23x2y2", // class name
+ bases_G23x2y2, 6,
+ &(vtc_G23x2y2[0]), // expected_vtbl_contents
+ &(vtt_G23x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y2),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names146,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y3 : virtual E23x2 , virtual F1 {
+ int ff;
+ ~G23x2y3(); // tgen
+ G23x2y3(); // tgen
+};
+//SIG(1 G23x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x2y3 ::~G23x2y3(){ note_dtor("G23x2y3", this);} // tgen
+G23x2y3 ::G23x2y3(){ note_ctor("G23x2y3", this);} // tgen
+
+static void Test_G23x2y3()
+{
+ extern Class_Descriptor cd_G23x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G23x2y3, buf);
+ G23x2y3 *dp, &lv = *(dp=new (buf) G23x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G23x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y3)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(40,24), "G23x2y3");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), ABISELECT(16,8), "G23x2y3");
+ check_base_class_offset(lv, (C23*)(E23x2*), ABISELECT(16,8), "G23x2y3");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(56,32), "G23x2y3");
+ check_base_class_offset(lv, (E23x2*), ABISELECT(16,8), "G23x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G23x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x2y3.ff");
+ test_class_info(&lv, &cd_G23x2y3);
+ dp->~G23x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y3(Test_G23x2y3, "G23x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y3C1Ev();
+extern void _ZN7G23x2y3D1Ev();
+Name_Map name_map_G23x2y3[] = {
+ NSPAIR(_ZN7G23x2y3C1Ev),
+ NSPAIR(_ZN7G23x2y3D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 20, //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 _ZTI7G23x2y3[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y3[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y3[] = {
+ {&(_ZTV7G23x2y3[6]), 6,24},
+ {&(_ZTV7G23x2y3[11]), 11,24},
+ {&(_ZTV7G23x2y3[15]), 15,24},
+ {&(_ZTV7G23x2y3[19]), 19,24},
+ {&(_ZTV7G23x2y3[23]), 23,24},
+ {&(_tg__ZTV5E23x2__7G23x2y3[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x2y3[];
+extern VTBL_ENTRY _ZTV7G23x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y3[];
+static VTBL_ENTRY alt_thunk_names147[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y3 = { "G23x2y3", // class name
+ bases_G23x2y3, 6,
+ &(vtc_G23x2y3[0]), // expected_vtbl_contents
+ &(vtt_G23x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G23x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y3),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names147,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y4 : E23x2 , F0 {
+ int ff;
+ ~G23x2y4(); // tgen
+ G23x2y4(); // tgen
+};
+//SIG(1 G23x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x2y4 ::~G23x2y4(){ note_dtor("G23x2y4", this);} // tgen
+G23x2y4 ::G23x2y4(){ note_ctor("G23x2y4", this);} // tgen
+
+static void Test_G23x2y4()
+{
+ extern Class_Descriptor cd_G23x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G23x2y4, buf);
+ G23x2y4 *dp, &lv = *(dp=new (buf) G23x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G23x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y4)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(32,24), "G23x2y4");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), 0, "G23x2y4");
+ check_base_class_offset(lv, (C23*)(E23x2*), 0, "G23x2y4");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(48,32), "G23x2y4");
+ check_base_class_offset(lv, (E23x2*), 0, "G23x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G23x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G23x2y4.ff");
+ test_class_info(&lv, &cd_G23x2y4);
+ dp->~G23x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y4(Test_G23x2y4, "G23x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y4C1Ev();
+extern void _ZN7G23x2y4D1Ev();
+Name_Map name_map_G23x2y4[] = {
+ NSPAIR(_ZN7G23x2y4C1Ev),
+ NSPAIR(_ZN7G23x2y4D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 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_C23, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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_F0, ABISELECT(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x2y4[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y4[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y4[] = {
+ {&(_ZTV7G23x2y4[4]), 4,13},
+ {&(_tg__ZTV5E23x2__7G23x2y4[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y4[3]), 3,4},
+ {&(_ZTV7G23x2y4[8]), 8,13},
+ {&(_ZTV7G23x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G23x2y4[];
+extern VTBL_ENTRY _ZTV7G23x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y4[];
+static VTBL_ENTRY alt_thunk_names148[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y4 = { "G23x2y4", // class name
+ bases_G23x2y4, 6,
+ &(vtc_G23x2y4[0]), // expected_vtbl_contents
+ &(vtt_G23x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G23x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y4),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names148,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y5 : virtual E23x2 , F0 {
+ int ff;
+ ~G23x2y5(); // tgen
+ G23x2y5(); // tgen
+};
+//SIG(1 G23x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x2y5 ::~G23x2y5(){ note_dtor("G23x2y5", this);} // tgen
+G23x2y5 ::G23x2y5(){ note_ctor("G23x2y5", this);} // tgen
+
+static void Test_G23x2y5()
+{
+ extern Class_Descriptor cd_G23x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x2y5, buf);
+ G23x2y5 *dp, &lv = *(dp=new (buf) G23x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y5)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(40,28), "G23x2y5");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), ABISELECT(16,12), "G23x2y5");
+ check_base_class_offset(lv, (C23*)(E23x2*), ABISELECT(16,12), "G23x2y5");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(56,36), "G23x2y5");
+ check_base_class_offset(lv, (E23x2*), ABISELECT(16,12), "G23x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x2y5.ff");
+ test_class_info(&lv, &cd_G23x2y5);
+ dp->~G23x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y5(Test_G23x2y5, "G23x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y5C1Ev();
+extern void _ZN7G23x2y5D1Ev();
+Name_Map name_map_G23x2y5[] = {
+ NSPAIR(_ZN7G23x2y5C1Ev),
+ NSPAIR(_ZN7G23x2y5D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 11, //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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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
+ 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 _ZTI7G23x2y5[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y5[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y5[] = {
+ {&(_ZTV7G23x2y5[5]), 5,19},
+ {&(_ZTV7G23x2y5[10]), 10,19},
+ {&(_ZTV7G23x2y5[14]), 14,19},
+ {&(_ZTV7G23x2y5[18]), 18,19},
+ {&(_tg__ZTV5E23x2__7G23x2y5[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x2y5[];
+extern VTBL_ENTRY _ZTV7G23x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y5[];
+static VTBL_ENTRY alt_thunk_names149[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y5 = { "G23x2y5", // class name
+ bases_G23x2y5, 6,
+ &(vtc_G23x2y5[0]), // expected_vtbl_contents
+ &(vtt_G23x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y5),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names149,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y6 : E23x2 , virtual F0 {
+ int ff;
+ ~G23x2y6(); // tgen
+ G23x2y6(); // tgen
+};
+//SIG(1 G23x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x2y6 ::~G23x2y6(){ note_dtor("G23x2y6", this);} // tgen
+G23x2y6 ::G23x2y6(){ note_ctor("G23x2y6", this);} // tgen
+
+static void Test_G23x2y6()
+{
+ extern Class_Descriptor cd_G23x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x2y6, buf);
+ G23x2y6 *dp, &lv = *(dp=new (buf) G23x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y6)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(24,20), "G23x2y6");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), 0, "G23x2y6");
+ check_base_class_offset(lv, (C23*)(E23x2*), 0, "G23x2y6");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(40,28), "G23x2y6");
+ check_base_class_offset(lv, (E23x2*), 0, "G23x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G23x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x2y6.ff");
+ test_class_info(&lv, &cd_G23x2y6);
+ dp->~G23x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y6(Test_G23x2y6, "G23x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y6C1Ev();
+extern void _ZN7G23x2y6D1Ev();
+Name_Map name_map_G23x2y6[] = {
+ NSPAIR(_ZN7G23x2y6C1Ev),
+ NSPAIR(_ZN7G23x2y6D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 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_C23, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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_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 _ZTI7G23x2y6[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y6[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y6[] = {
+ {&(_ZTV7G23x2y6[5]), 5,14},
+ {&(_tg__ZTV5E23x2__7G23x2y6[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y6[3]), 3,4},
+ {&(_ZTV7G23x2y6[9]), 9,14},
+ {&(_ZTV7G23x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G23x2y6[];
+extern VTBL_ENTRY _ZTV7G23x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y6[];
+static VTBL_ENTRY alt_thunk_names150[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y6 = { "G23x2y6", // class name
+ bases_G23x2y6, 6,
+ &(vtc_G23x2y6[0]), // expected_vtbl_contents
+ &(vtt_G23x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y6),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names150,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x2y7 : virtual E23x2 , virtual F0 {
+ int ff;
+ ~G23x2y7(); // tgen
+ G23x2y7(); // tgen
+};
+//SIG(1 G23x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x2y7 ::~G23x2y7(){ note_dtor("G23x2y7", this);} // tgen
+G23x2y7 ::G23x2y7(){ note_ctor("G23x2y7", this);} // tgen
+
+static void Test_G23x2y7()
+{
+ extern Class_Descriptor cd_G23x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x2y7, buf);
+ G23x2y7 *dp, &lv = *(dp=new (buf) G23x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x2y7)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x2*), ABISELECT(40,24), "G23x2y7");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x2*), ABISELECT(16,8), "G23x2y7");
+ check_base_class_offset(lv, (C23*)(E23x2*), ABISELECT(16,8), "G23x2y7");
+ check_base_class_offset(lv, (D1*)(E23x2*), ABISELECT(56,32), "G23x2y7");
+ check_base_class_offset(lv, (E23x2*), ABISELECT(16,8), "G23x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G23x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x2y7.ff");
+ test_class_info(&lv, &cd_G23x2y7);
+ dp->~G23x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x2y7(Test_G23x2y7, "G23x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x2y7C1Ev();
+extern void _ZN7G23x2y7D1Ev();
+Name_Map name_map_G23x2y7[] = {
+ NSPAIR(_ZN7G23x2y7C1Ev),
+ NSPAIR(_ZN7G23x2y7D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x2;
+extern VTBL_ENTRY _ZTI5E23x2[];
+extern VTBL_ENTRY _ZTV5E23x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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,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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x2, 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
+ 5, //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 _ZTI7G23x2y7[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x2y7[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x2__7G23x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x2__7G23x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x2__7G23x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x2__7G23x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x2__7G23x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G23x2y7[] = {
+ {&(_ZTV7G23x2y7[6]), 6,20},
+ {&(_ZTV7G23x2y7[11]), 11,20},
+ {&(_ZTV7G23x2y7[15]), 15,20},
+ {&(_ZTV7G23x2y7[19]), 19,20},
+ {&(_tg__ZTV5E23x2__7G23x2y7[4]), 4,5},
+ {&(_tg__ZTV3C235E23x2__7G23x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x2__7G23x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x2__7G23x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x2__7G23x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x2y7[];
+extern VTBL_ENTRY _ZTV7G23x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x2y7[];
+static VTBL_ENTRY alt_thunk_names151[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x2y7 = { "G23x2y7", // class name
+ bases_G23x2y7, 6,
+ &(vtc_G23x2y7[0]), // expected_vtbl_contents
+ &(vtt_G23x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x2y7),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names151,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x2 : C24 , virtual D1 {
+ int fd;
+ ~E24x2(); // tgen
+ E24x2(); // tgen
+};
+//SIG(-1 E24x2) C1{ BC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E24x2 ::~E24x2(){ note_dtor("E24x2", this);} // tgen
+E24x2 ::E24x2(){ note_ctor("E24x2", this);} // tgen
+
+static void Test_E24x2()
+{
+ extern Class_Descriptor cd_E24x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E24x2, buf);
+ E24x2 *dp, &lv = *(dp=new (buf) E24x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E24x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x2)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(8,4), "E24x2");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(20,16), "E24x2");
+ check_base_class_offset(lv, (C24*), 0, "E24x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E24x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E24x2.fd");
+ test_class_info(&lv, &cd_E24x2);
+ dp->~E24x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x2(Test_E24x2, "E24x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E24x2C1Ev();
+extern void _ZN5E24x2D1Ev();
+Name_Map name_map_E24x2[] = {
+ NSPAIR(_ZN5E24x2C1Ev),
+ NSPAIR(_ZN5E24x2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E24x2[] = {
+ // 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(20,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, 1},
+ {&cd_C24, 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(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E24x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x2[] = {
+ {&(_ZTV5E24x2[4]), 4,9},
+ {&(_tg__ZTV3C24__5E24x2[3]), 3,4},
+ {&(_ZTV5E24x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+Class_Descriptor cd_E24x2 = { "E24x2", // class name
+ bases_E24x2, 4,
+ &(vtc_E24x2[0]), // expected_vtbl_contents
+ &(vtt_E24x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E24x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x2),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 G24x2y0 : E24x2 , F1 {
+ int ff;
+ ~G24x2y0(); // tgen
+ G24x2y0(); // tgen
+};
+//SIG(1 G24x2y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x2y0 ::~G24x2y0(){ note_dtor("G24x2y0", this);} // tgen
+G24x2y0 ::G24x2y0(){ note_ctor("G24x2y0", this);} // tgen
+
+static void Test_G24x2y0()
+{
+ extern Class_Descriptor cd_G24x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x2y0, buf);
+ G24x2y0 *dp, &lv = *(dp=new (buf) G24x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y0)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(8,4), "G24x2y0");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(40,28), "G24x2y0");
+ check_base_class_offset(lv, (C24*)(E24x2*), 0, "G24x2y0");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(48,32), "G24x2y0");
+ check_base_class_offset(lv, (E24x2*), 0, "G24x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G24x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G24x2y0.ff");
+ test_class_info(&lv, &cd_G24x2y0);
+ dp->~G24x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y0(Test_G24x2y0, "G24x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y0C1Ev();
+extern void _ZN7G24x2y0D1Ev();
+Name_Map name_map_G24x2y0[] = {
+ NSPAIR(_ZN7G24x2y0C1Ev),
+ NSPAIR(_ZN7G24x2y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x2y0[] = {
+ // 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,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_C24, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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(24,16), //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 _ZTI7G24x2y0[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y0[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y0[] = {
+ {&(_ZTV7G24x2y0[4]), 4,12},
+ {&(_tg__ZTV5E24x2__7G24x2y0[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y0[3]), 3,4},
+ {&(_ZTV7G24x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G24x2y0[];
+extern VTBL_ENTRY _ZTV7G24x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y0[];
+Class_Descriptor cd_G24x2y0 = { "G24x2y0", // class name
+ bases_G24x2y0, 6,
+ &(vtc_G24x2y0[0]), // expected_vtbl_contents
+ &(vtt_G24x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y0),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 G24x2y1 : virtual E24x2 , F1 {
+ int ff;
+ ~G24x2y1(); // tgen
+ G24x2y1(); // tgen
+};
+//SIG(1 G24x2y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x2y1 ::~G24x2y1(){ note_dtor("G24x2y1", this);} // tgen
+G24x2y1 ::G24x2y1(){ note_ctor("G24x2y1", this);} // tgen
+
+static void Test_G24x2y1()
+{
+ extern Class_Descriptor cd_G24x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x2y1, buf);
+ G24x2y1 *dp, &lv = *(dp=new (buf) G24x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y1)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(24,16), "G24x2y1");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(36,28), "G24x2y1");
+ check_base_class_offset(lv, (C24*)(E24x2*), ABISELECT(16,12), "G24x2y1");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(40,32), "G24x2y1");
+ check_base_class_offset(lv, (E24x2*), ABISELECT(16,12), "G24x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x2y1.ff");
+ test_class_info(&lv, &cd_G24x2y1);
+ dp->~G24x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y1(Test_G24x2y1, "G24x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y1C1Ev();
+extern void _ZN7G24x2y1D1Ev();
+Name_Map name_map_G24x2y1[] = {
+ NSPAIR(_ZN7G24x2y1C1Ev),
+ NSPAIR(_ZN7G24x2y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x2y1[] = {
+ // 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(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_C24, 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(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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 _ZTI7G24x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y1[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y1[] = {
+ {&(_ZTV7G24x2y1[5]), 5,16},
+ {&(_ZTV7G24x2y1[11]), 11,16},
+ {&(_ZTV7G24x2y1[15]), 15,16},
+ {&(_tg__ZTV5E24x2__7G24x2y1[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x2y1[];
+extern VTBL_ENTRY _ZTV7G24x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y1[];
+Class_Descriptor cd_G24x2y1 = { "G24x2y1", // class name
+ bases_G24x2y1, 6,
+ &(vtc_G24x2y1[0]), // expected_vtbl_contents
+ &(vtt_G24x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y1),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 G24x2y2 : E24x2 , virtual F1 {
+ int ff;
+ ~G24x2y2(); // tgen
+ G24x2y2(); // tgen
+};
+//SIG(1 G24x2y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x2y2 ::~G24x2y2(){ note_dtor("G24x2y2", this);} // tgen
+G24x2y2 ::G24x2y2(){ note_ctor("G24x2y2", this);} // tgen
+
+static void Test_G24x2y2()
+{
+ extern Class_Descriptor cd_G24x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x2y2, buf);
+ G24x2y2 *dp, &lv = *(dp=new (buf) G24x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y2)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(8,4), "G24x2y2");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(24,20), "G24x2y2");
+ check_base_class_offset(lv, (C24*)(E24x2*), 0, "G24x2y2");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(32,24), "G24x2y2");
+ check_base_class_offset(lv, (E24x2*), 0, "G24x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G24x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x2y2.ff");
+ test_class_info(&lv, &cd_G24x2y2);
+ dp->~G24x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y2(Test_G24x2y2, "G24x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y2C1Ev();
+extern void _ZN7G24x2y2D1Ev();
+Name_Map name_map_G24x2y2[] = {
+ NSPAIR(_ZN7G24x2y2C1Ev),
+ NSPAIR(_ZN7G24x2y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x2y2[] = {
+ // 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(24,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_C24, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x2y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y2[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y2[] = {
+ {&(_ZTV7G24x2y2[5]), 5,14},
+ {&(_tg__ZTV5E24x2__7G24x2y2[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y2[3]), 3,4},
+ {&(_ZTV7G24x2y2[9]), 9,14},
+ {&(_ZTV7G24x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G24x2y2[];
+extern VTBL_ENTRY _ZTV7G24x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y2[];
+Class_Descriptor cd_G24x2y2 = { "G24x2y2", // class name
+ bases_G24x2y2, 6,
+ &(vtc_G24x2y2[0]), // expected_vtbl_contents
+ &(vtt_G24x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y2),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 G24x2y3 : virtual E24x2 , virtual F1 {
+ int ff;
+ ~G24x2y3(); // tgen
+ G24x2y3(); // tgen
+};
+//SIG(1 G24x2y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x2y3 ::~G24x2y3(){ note_dtor("G24x2y3", this);} // tgen
+G24x2y3 ::G24x2y3(){ note_ctor("G24x2y3", this);} // tgen
+
+static void Test_G24x2y3()
+{
+ extern Class_Descriptor cd_G24x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x2y3, buf);
+ G24x2y3 *dp, &lv = *(dp=new (buf) G24x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y3)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(24,12), "G24x2y3");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(36,24), "G24x2y3");
+ check_base_class_offset(lv, (C24*)(E24x2*), ABISELECT(16,8), "G24x2y3");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(40,28), "G24x2y3");
+ check_base_class_offset(lv, (E24x2*), ABISELECT(16,8), "G24x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x2y3.ff");
+ test_class_info(&lv, &cd_G24x2y3);
+ dp->~G24x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y3(Test_G24x2y3, "G24x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y3C1Ev();
+extern void _ZN7G24x2y3D1Ev();
+Name_Map name_map_G24x2y3[] = {
+ NSPAIR(_ZN7G24x2y3C1Ev),
+ NSPAIR(_ZN7G24x2y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x2y3[] = {
+ // 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(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_C24, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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
+ 16, //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 _ZTI7G24x2y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y3[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y3[] = {
+ {&(_ZTV7G24x2y3[6]), 6,20},
+ {&(_ZTV7G24x2y3[11]), 11,20},
+ {&(_ZTV7G24x2y3[15]), 15,20},
+ {&(_ZTV7G24x2y3[19]), 19,20},
+ {&(_tg__ZTV5E24x2__7G24x2y3[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x2y3[];
+extern VTBL_ENTRY _ZTV7G24x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y3[];
+Class_Descriptor cd_G24x2y3 = { "G24x2y3", // class name
+ bases_G24x2y3, 6,
+ &(vtc_G24x2y3[0]), // expected_vtbl_contents
+ &(vtt_G24x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y3),7, //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 G24x2y4 : E24x2 , F0 {
+ int ff;
+ ~G24x2y4(); // tgen
+ G24x2y4(); // tgen
+};
+//SIG(1 G24x2y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x2y4 ::~G24x2y4(){ note_dtor("G24x2y4", this);} // tgen
+G24x2y4 ::G24x2y4(){ note_ctor("G24x2y4", this);} // tgen
+
+static void Test_G24x2y4()
+{
+ extern Class_Descriptor cd_G24x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x2y4, buf);
+ G24x2y4 *dp, &lv = *(dp=new (buf) G24x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y4)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(8,4), "G24x2y4");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(28,24), "G24x2y4");
+ check_base_class_offset(lv, (C24*)(E24x2*), 0, "G24x2y4");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(32,28), "G24x2y4");
+ check_base_class_offset(lv, (E24x2*), 0, "G24x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G24x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G24x2y4.ff");
+ test_class_info(&lv, &cd_G24x2y4);
+ dp->~G24x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y4(Test_G24x2y4, "G24x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y4C1Ev();
+extern void _ZN7G24x2y4D1Ev();
+Name_Map name_map_G24x2y4[] = {
+ NSPAIR(_ZN7G24x2y4C1Ev),
+ NSPAIR(_ZN7G24x2y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x2y4[] = {
+ // 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(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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C24, 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x2y4[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y4[] = {
+ {&(_ZTV7G24x2y4[4]), 4,9},
+ {&(_tg__ZTV5E24x2__7G24x2y4[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y4[3]), 3,4},
+ {&(_ZTV7G24x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G24x2y4[];
+extern VTBL_ENTRY _ZTV7G24x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y4[];
+Class_Descriptor cd_G24x2y4 = { "G24x2y4", // class name
+ bases_G24x2y4, 6,
+ &(vtc_G24x2y4[0]), // expected_vtbl_contents
+ &(vtt_G24x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y4),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 G24x2y5 : virtual E24x2 , F0 {
+ int ff;
+ ~G24x2y5(); // tgen
+ G24x2y5(); // tgen
+};
+//SIG(1 G24x2y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x2y5 ::~G24x2y5(){ note_dtor("G24x2y5", this);} // tgen
+G24x2y5 ::G24x2y5(){ note_ctor("G24x2y5", this);} // tgen
+
+static void Test_G24x2y5()
+{
+ extern Class_Descriptor cd_G24x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x2y5, buf);
+ G24x2y5 *dp, &lv = *(dp=new (buf) G24x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y5)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(24,16), "G24x2y5");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(36,28), "G24x2y5");
+ check_base_class_offset(lv, (C24*)(E24x2*), ABISELECT(16,12), "G24x2y5");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(40,32), "G24x2y5");
+ check_base_class_offset(lv, (E24x2*), ABISELECT(16,12), "G24x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x2y5.ff");
+ test_class_info(&lv, &cd_G24x2y5);
+ dp->~G24x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y5(Test_G24x2y5, "G24x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y5C1Ev();
+extern void _ZN7G24x2y5D1Ev();
+Name_Map name_map_G24x2y5[] = {
+ NSPAIR(_ZN7G24x2y5C1Ev),
+ NSPAIR(_ZN7G24x2y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x2y5[] = {
+ // 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(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_C24, 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(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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 _ZTI7G24x2y5[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y5[] = {
+ {&(_ZTV7G24x2y5[5]), 5,15},
+ {&(_ZTV7G24x2y5[10]), 10,15},
+ {&(_ZTV7G24x2y5[14]), 14,15},
+ {&(_tg__ZTV5E24x2__7G24x2y5[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x2y5[];
+extern VTBL_ENTRY _ZTV7G24x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y5[];
+Class_Descriptor cd_G24x2y5 = { "G24x2y5", // class name
+ bases_G24x2y5, 6,
+ &(vtc_G24x2y5[0]), // expected_vtbl_contents
+ &(vtt_G24x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y5),6, //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 G24x2y6 : E24x2 , virtual F0 {
+ int ff;
+ ~G24x2y6(); // tgen
+ G24x2y6(); // tgen
+};
+//SIG(1 G24x2y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x2y6 ::~G24x2y6(){ note_dtor("G24x2y6", this);} // tgen
+G24x2y6 ::G24x2y6(){ note_ctor("G24x2y6", this);} // tgen
+
+static void Test_G24x2y6()
+{
+ extern Class_Descriptor cd_G24x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x2y6, buf);
+ G24x2y6 *dp, &lv = *(dp=new (buf) G24x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y6)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(8,4), "G24x2y6");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(24,20), "G24x2y6");
+ check_base_class_offset(lv, (C24*)(E24x2*), 0, "G24x2y6");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(32,24), "G24x2y6");
+ check_base_class_offset(lv, (E24x2*), 0, "G24x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G24x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x2y6.ff");
+ test_class_info(&lv, &cd_G24x2y6);
+ dp->~G24x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y6(Test_G24x2y6, "G24x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y6C1Ev();
+extern void _ZN7G24x2y6D1Ev();
+Name_Map name_map_G24x2y6[] = {
+ NSPAIR(_ZN7G24x2y6C1Ev),
+ NSPAIR(_ZN7G24x2y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x2y6[] = {
+ // 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(24,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_C24, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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 _ZTI7G24x2y6[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y6[] = {
+ {&(_ZTV7G24x2y6[5]), 5,10},
+ {&(_tg__ZTV5E24x2__7G24x2y6[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y6[3]), 3,4},
+ {&(_ZTV7G24x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G24x2y6[];
+extern VTBL_ENTRY _ZTV7G24x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y6[];
+Class_Descriptor cd_G24x2y6 = { "G24x2y6", // class name
+ bases_G24x2y6, 6,
+ &(vtc_G24x2y6[0]), // expected_vtbl_contents
+ &(vtt_G24x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y6),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 G24x2y7 : virtual E24x2 , virtual F0 {
+ int ff;
+ ~G24x2y7(); // tgen
+ G24x2y7(); // tgen
+};
+//SIG(1 G24x2y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x2y7 ::~G24x2y7(){ note_dtor("G24x2y7", this);} // tgen
+G24x2y7 ::G24x2y7(){ note_ctor("G24x2y7", this);} // tgen
+
+static void Test_G24x2y7()
+{
+ extern Class_Descriptor cd_G24x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x2y7, buf);
+ G24x2y7 *dp, &lv = *(dp=new (buf) G24x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x2y7)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x2*), ABISELECT(24,12), "G24x2y7");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x2*), ABISELECT(36,24), "G24x2y7");
+ check_base_class_offset(lv, (C24*)(E24x2*), ABISELECT(16,8), "G24x2y7");
+ check_base_class_offset(lv, (D1*)(E24x2*), ABISELECT(40,28), "G24x2y7");
+ check_base_class_offset(lv, (E24x2*), ABISELECT(16,8), "G24x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G24x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x2y7.ff");
+ test_class_info(&lv, &cd_G24x2y7);
+ dp->~G24x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x2y7(Test_G24x2y7, "G24x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x2y7C1Ev();
+extern void _ZN7G24x2y7D1Ev();
+Name_Map name_map_G24x2y7[] = {
+ NSPAIR(_ZN7G24x2y7C1Ev),
+ NSPAIR(_ZN7G24x2y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x2;
+extern VTBL_ENTRY _ZTI5E24x2[];
+extern VTBL_ENTRY _ZTV5E24x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x2y7[] = {
+ // 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(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_C24, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x2, 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(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 _ZTI7G24x2y7[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x2y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x2__7G24x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x2__7G24x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x2__7G24x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G24x2y7[] = {
+ {&(_ZTV7G24x2y7[6]), 6,16},
+ {&(_ZTV7G24x2y7[11]), 11,16},
+ {&(_ZTV7G24x2y7[15]), 15,16},
+ {&(_tg__ZTV5E24x2__7G24x2y7[4]), 4,5},
+ {&(_tg__ZTV3C245E24x2__7G24x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E24x2__7G24x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x2y7[];
+extern VTBL_ENTRY _ZTV7G24x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x2y7[];
+Class_Descriptor cd_G24x2y7 = { "G24x2y7", // class name
+ bases_G24x2y7, 6,
+ &(vtc_G24x2y7[0]), // expected_vtbl_contents
+ &(vtt_G24x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x2y7),6, //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 E25x2 : C25 , virtual D1 {
+ int fd;
+ ~E25x2(); // tgen
+ E25x2(); // tgen
+};
+//SIG(-1 E25x2) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E25x2 ::~E25x2(){ note_dtor("E25x2", this);} // tgen
+E25x2 ::E25x2(){ note_ctor("E25x2", this);} // tgen
+
+static void Test_E25x2()
+{
+ extern Class_Descriptor cd_E25x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E25x2, buf);
+ E25x2 *dp, &lv = *(dp=new (buf) E25x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E25x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x2)");
+ check_base_class_offset(lv, (A1*)(C25*), 0, "E25x2");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(20,16), "E25x2");
+ check_base_class_offset(lv, (C25*), 0, "E25x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E25x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E25x2.fd");
+ test_class_info(&lv, &cd_E25x2);
+ dp->~E25x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x2(Test_E25x2, "E25x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E25x2C1Ev();
+extern void _ZN5E25x2D1Ev();
+Name_Map name_map_E25x2[] = {
+ NSPAIR(_ZN5E25x2C1Ev),
+ NSPAIR(_ZN5E25x2D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E25x2[] = {
+ // 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(20,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, 1},
+ {&cd_C25, 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(24,20), //bcp->offset
+ 5, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E25x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x2[] = {
+ {&(_ZTV5E25x2[4]), 4,9},
+ {&(_tg__ZTV3C25__5E25x2[3]), 3,4},
+ {&(_ZTV5E25x2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+Class_Descriptor cd_E25x2 = { "E25x2", // class name
+ bases_E25x2, 4,
+ &(vtc_E25x2[0]), // expected_vtbl_contents
+ &(vtt_E25x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E25x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x2),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 G25x2y0 : E25x2 , F1 {
+ int ff;
+ ~G25x2y0(); // tgen
+ G25x2y0(); // tgen
+};
+//SIG(1 G25x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x2y0 ::~G25x2y0(){ note_dtor("G25x2y0", this);} // tgen
+G25x2y0 ::G25x2y0(){ note_ctor("G25x2y0", this);} // tgen
+
+static void Test_G25x2y0()
+{
+ extern Class_Descriptor cd_G25x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x2y0, buf);
+ G25x2y0 *dp, &lv = *(dp=new (buf) G25x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y0)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), 0, "G25x2y0");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(40,28), "G25x2y0");
+ check_base_class_offset(lv, (C25*)(E25x2*), 0, "G25x2y0");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(48,32), "G25x2y0");
+ check_base_class_offset(lv, (E25x2*), 0, "G25x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G25x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G25x2y0.ff");
+ test_class_info(&lv, &cd_G25x2y0);
+ dp->~G25x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y0(Test_G25x2y0, "G25x2y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y0C1Ev();
+extern void _ZN7G25x2y0D1Ev();
+Name_Map name_map_G25x2y0[] = {
+ NSPAIR(_ZN7G25x2y0C1Ev),
+ NSPAIR(_ZN7G25x2y0D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x2y0[] = {
+ // 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(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_C25, 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(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x2y0[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y0[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y0[] = {
+ {&(_ZTV7G25x2y0[4]), 4,12},
+ {&(_tg__ZTV5E25x2__7G25x2y0[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y0[3]), 3,4},
+ {&(_ZTV7G25x2y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G25x2y0[];
+extern VTBL_ENTRY _ZTV7G25x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y0[];
+Class_Descriptor cd_G25x2y0 = { "G25x2y0", // class name
+ bases_G25x2y0, 6,
+ &(vtc_G25x2y0[0]), // expected_vtbl_contents
+ &(vtt_G25x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y0),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 G25x2y1 : virtual E25x2 , F1 {
+ int ff;
+ ~G25x2y1(); // tgen
+ G25x2y1(); // tgen
+};
+//SIG(1 G25x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x2y1 ::~G25x2y1(){ note_dtor("G25x2y1", this);} // tgen
+G25x2y1 ::G25x2y1(){ note_ctor("G25x2y1", this);} // tgen
+
+static void Test_G25x2y1()
+{
+ extern Class_Descriptor cd_G25x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x2y1, buf);
+ G25x2y1 *dp, &lv = *(dp=new (buf) G25x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y1)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), ABISELECT(16,12), "G25x2y1");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(36,28), "G25x2y1");
+ check_base_class_offset(lv, (C25*)(E25x2*), ABISELECT(16,12), "G25x2y1");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(40,32), "G25x2y1");
+ check_base_class_offset(lv, (E25x2*), ABISELECT(16,12), "G25x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x2y1.ff");
+ test_class_info(&lv, &cd_G25x2y1);
+ dp->~G25x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y1(Test_G25x2y1, "G25x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y1C1Ev();
+extern void _ZN7G25x2y1D1Ev();
+Name_Map name_map_G25x2y1[] = {
+ NSPAIR(_ZN7G25x2y1C1Ev),
+ NSPAIR(_ZN7G25x2y1D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x2y1[] = {
+ // 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_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_C25, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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
+ 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 _ZTI7G25x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y1[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y1[] = {
+ {&(_ZTV7G25x2y1[5]), 5,16},
+ {&(_ZTV7G25x2y1[11]), 11,16},
+ {&(_ZTV7G25x2y1[15]), 15,16},
+ {&(_tg__ZTV5E25x2__7G25x2y1[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x2y1[];
+extern VTBL_ENTRY _ZTV7G25x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y1[];
+Class_Descriptor cd_G25x2y1 = { "G25x2y1", // class name
+ bases_G25x2y1, 6,
+ &(vtc_G25x2y1[0]), // expected_vtbl_contents
+ &(vtt_G25x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y1),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 G25x2y2 : E25x2 , virtual F1 {
+ int ff;
+ ~G25x2y2(); // tgen
+ G25x2y2(); // tgen
+};
+//SIG(1 G25x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x2y2 ::~G25x2y2(){ note_dtor("G25x2y2", this);} // tgen
+G25x2y2 ::G25x2y2(){ note_ctor("G25x2y2", this);} // tgen
+
+static void Test_G25x2y2()
+{
+ extern Class_Descriptor cd_G25x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x2y2, buf);
+ G25x2y2 *dp, &lv = *(dp=new (buf) G25x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y2)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), 0, "G25x2y2");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(24,20), "G25x2y2");
+ check_base_class_offset(lv, (C25*)(E25x2*), 0, "G25x2y2");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(32,24), "G25x2y2");
+ check_base_class_offset(lv, (E25x2*), 0, "G25x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G25x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x2y2.ff");
+ test_class_info(&lv, &cd_G25x2y2);
+ dp->~G25x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y2(Test_G25x2y2, "G25x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y2C1Ev();
+extern void _ZN7G25x2y2D1Ev();
+Name_Map name_map_G25x2y2[] = {
+ NSPAIR(_ZN7G25x2y2C1Ev),
+ NSPAIR(_ZN7G25x2y2D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x2y2[] = {
+ // 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_B0, ABISELECT(24,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_C25, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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(48,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x2y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y2[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y2[] = {
+ {&(_ZTV7G25x2y2[5]), 5,14},
+ {&(_tg__ZTV5E25x2__7G25x2y2[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y2[3]), 3,4},
+ {&(_ZTV7G25x2y2[9]), 9,14},
+ {&(_ZTV7G25x2y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G25x2y2[];
+extern VTBL_ENTRY _ZTV7G25x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y2[];
+Class_Descriptor cd_G25x2y2 = { "G25x2y2", // class name
+ bases_G25x2y2, 6,
+ &(vtc_G25x2y2[0]), // expected_vtbl_contents
+ &(vtt_G25x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y2),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 G25x2y3 : virtual E25x2 , virtual F1 {
+ int ff;
+ ~G25x2y3(); // tgen
+ G25x2y3(); // tgen
+};
+//SIG(1 G25x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x2y3 ::~G25x2y3(){ note_dtor("G25x2y3", this);} // tgen
+G25x2y3 ::G25x2y3(){ note_ctor("G25x2y3", this);} // tgen
+
+static void Test_G25x2y3()
+{
+ extern Class_Descriptor cd_G25x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x2y3, buf);
+ G25x2y3 *dp, &lv = *(dp=new (buf) G25x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y3)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), ABISELECT(16,8), "G25x2y3");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(36,24), "G25x2y3");
+ check_base_class_offset(lv, (C25*)(E25x2*), ABISELECT(16,8), "G25x2y3");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(40,28), "G25x2y3");
+ check_base_class_offset(lv, (E25x2*), ABISELECT(16,8), "G25x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x2y3.ff");
+ test_class_info(&lv, &cd_G25x2y3);
+ dp->~G25x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y3(Test_G25x2y3, "G25x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y3C1Ev();
+extern void _ZN7G25x2y3D1Ev();
+Name_Map name_map_G25x2y3[] = {
+ NSPAIR(_ZN7G25x2y3C1Ev),
+ NSPAIR(_ZN7G25x2y3D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x2y3[] = {
+ // 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_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_C25, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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_F1, ABISELECT(56,36), //bcp->offset
+ 16, //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 _ZTI7G25x2y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y3[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y3[] = {
+ {&(_ZTV7G25x2y3[6]), 6,20},
+ {&(_ZTV7G25x2y3[11]), 11,20},
+ {&(_ZTV7G25x2y3[15]), 15,20},
+ {&(_ZTV7G25x2y3[19]), 19,20},
+ {&(_tg__ZTV5E25x2__7G25x2y3[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x2y3[];
+extern VTBL_ENTRY _ZTV7G25x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y3[];
+Class_Descriptor cd_G25x2y3 = { "G25x2y3", // class name
+ bases_G25x2y3, 6,
+ &(vtc_G25x2y3[0]), // expected_vtbl_contents
+ &(vtt_G25x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y3),7, //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 G25x2y4 : E25x2 , F0 {
+ int ff;
+ ~G25x2y4(); // tgen
+ G25x2y4(); // tgen
+};
+//SIG(1 G25x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x2y4 ::~G25x2y4(){ note_dtor("G25x2y4", this);} // tgen
+G25x2y4 ::G25x2y4(){ note_ctor("G25x2y4", this);} // tgen
+
+static void Test_G25x2y4()
+{
+ extern Class_Descriptor cd_G25x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x2y4, buf);
+ G25x2y4 *dp, &lv = *(dp=new (buf) G25x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y4)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), 0, "G25x2y4");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(28,24), "G25x2y4");
+ check_base_class_offset(lv, (C25*)(E25x2*), 0, "G25x2y4");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(32,28), "G25x2y4");
+ check_base_class_offset(lv, (E25x2*), 0, "G25x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G25x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G25x2y4.ff");
+ test_class_info(&lv, &cd_G25x2y4);
+ dp->~G25x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y4(Test_G25x2y4, "G25x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y4C1Ev();
+extern void _ZN7G25x2y4D1Ev();
+Name_Map name_map_G25x2y4[] = {
+ NSPAIR(_ZN7G25x2y4C1Ev),
+ NSPAIR(_ZN7G25x2y4D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x2y4[] = {
+ // 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(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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C25, 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(32,28), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x2y4[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y4[] = {
+ {&(_ZTV7G25x2y4[4]), 4,9},
+ {&(_tg__ZTV5E25x2__7G25x2y4[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y4[3]), 3,4},
+ {&(_ZTV7G25x2y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G25x2y4[];
+extern VTBL_ENTRY _ZTV7G25x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y4[];
+Class_Descriptor cd_G25x2y4 = { "G25x2y4", // class name
+ bases_G25x2y4, 6,
+ &(vtc_G25x2y4[0]), // expected_vtbl_contents
+ &(vtt_G25x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y4),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 G25x2y5 : virtual E25x2 , F0 {
+ int ff;
+ ~G25x2y5(); // tgen
+ G25x2y5(); // tgen
+};
+//SIG(1 G25x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x2y5 ::~G25x2y5(){ note_dtor("G25x2y5", this);} // tgen
+G25x2y5 ::G25x2y5(){ note_ctor("G25x2y5", this);} // tgen
+
+static void Test_G25x2y5()
+{
+ extern Class_Descriptor cd_G25x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x2y5, buf);
+ G25x2y5 *dp, &lv = *(dp=new (buf) G25x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y5)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), ABISELECT(16,12), "G25x2y5");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(36,28), "G25x2y5");
+ check_base_class_offset(lv, (C25*)(E25x2*), ABISELECT(16,12), "G25x2y5");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(40,32), "G25x2y5");
+ check_base_class_offset(lv, (E25x2*), ABISELECT(16,12), "G25x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x2y5.ff");
+ test_class_info(&lv, &cd_G25x2y5);
+ dp->~G25x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y5(Test_G25x2y5, "G25x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y5C1Ev();
+extern void _ZN7G25x2y5D1Ev();
+Name_Map name_map_G25x2y5[] = {
+ NSPAIR(_ZN7G25x2y5C1Ev),
+ NSPAIR(_ZN7G25x2y5D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x2y5[] = {
+ // 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_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_C25, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 11, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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
+ 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 _ZTI7G25x2y5[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y5[] = {
+ {&(_ZTV7G25x2y5[5]), 5,15},
+ {&(_ZTV7G25x2y5[10]), 10,15},
+ {&(_ZTV7G25x2y5[14]), 14,15},
+ {&(_tg__ZTV5E25x2__7G25x2y5[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x2y5[];
+extern VTBL_ENTRY _ZTV7G25x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y5[];
+Class_Descriptor cd_G25x2y5 = { "G25x2y5", // class name
+ bases_G25x2y5, 6,
+ &(vtc_G25x2y5[0]), // expected_vtbl_contents
+ &(vtt_G25x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y5),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 G25x2y6 : E25x2 , virtual F0 {
+ int ff;
+ ~G25x2y6(); // tgen
+ G25x2y6(); // tgen
+};
+//SIG(1 G25x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x2y6 ::~G25x2y6(){ note_dtor("G25x2y6", this);} // tgen
+G25x2y6 ::G25x2y6(){ note_ctor("G25x2y6", this);} // tgen
+
+static void Test_G25x2y6()
+{
+ extern Class_Descriptor cd_G25x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x2y6, buf);
+ G25x2y6 *dp, &lv = *(dp=new (buf) G25x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y6)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), 0, "G25x2y6");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(24,20), "G25x2y6");
+ check_base_class_offset(lv, (C25*)(E25x2*), 0, "G25x2y6");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(32,24), "G25x2y6");
+ check_base_class_offset(lv, (E25x2*), 0, "G25x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G25x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x2y6.ff");
+ test_class_info(&lv, &cd_G25x2y6);
+ dp->~G25x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y6(Test_G25x2y6, "G25x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y6C1Ev();
+extern void _ZN7G25x2y6D1Ev();
+Name_Map name_map_G25x2y6[] = {
+ NSPAIR(_ZN7G25x2y6C1Ev),
+ NSPAIR(_ZN7G25x2y6D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x2y6[] = {
+ // 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(24,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_C25, 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(32,24), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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(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 _ZTI7G25x2y6[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y6[] = {
+ {&(_ZTV7G25x2y6[5]), 5,10},
+ {&(_tg__ZTV5E25x2__7G25x2y6[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y6[3]), 3,4},
+ {&(_ZTV7G25x2y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G25x2y6[];
+extern VTBL_ENTRY _ZTV7G25x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y6[];
+Class_Descriptor cd_G25x2y6 = { "G25x2y6", // class name
+ bases_G25x2y6, 6,
+ &(vtc_G25x2y6[0]), // expected_vtbl_contents
+ &(vtt_G25x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y6),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 G25x2y7 : virtual E25x2 , virtual F0 {
+ int ff;
+ ~G25x2y7(); // tgen
+ G25x2y7(); // tgen
+};
+//SIG(1 G25x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x2y7 ::~G25x2y7(){ note_dtor("G25x2y7", this);} // tgen
+G25x2y7 ::G25x2y7(){ note_ctor("G25x2y7", this);} // tgen
+
+static void Test_G25x2y7()
+{
+ extern Class_Descriptor cd_G25x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x2y7, buf);
+ G25x2y7 *dp, &lv = *(dp=new (buf) G25x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x2y7)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x2*), ABISELECT(16,8), "G25x2y7");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x2*), ABISELECT(36,24), "G25x2y7");
+ check_base_class_offset(lv, (C25*)(E25x2*), ABISELECT(16,8), "G25x2y7");
+ check_base_class_offset(lv, (D1*)(E25x2*), ABISELECT(40,28), "G25x2y7");
+ check_base_class_offset(lv, (E25x2*), ABISELECT(16,8), "G25x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G25x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x2y7.ff");
+ test_class_info(&lv, &cd_G25x2y7);
+ dp->~G25x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x2y7(Test_G25x2y7, "G25x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x2y7C1Ev();
+extern void _ZN7G25x2y7D1Ev();
+Name_Map name_map_G25x2y7[] = {
+ NSPAIR(_ZN7G25x2y7C1Ev),
+ NSPAIR(_ZN7G25x2y7D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x2;
+extern VTBL_ENTRY _ZTI5E25x2[];
+extern VTBL_ENTRY _ZTV5E25x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x2y7[] = {
+ // 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_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_C25, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x2, 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
+ 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 _ZTI7G25x2y7[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x2y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x2__7G25x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x2__7G25x2y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x2__7G25x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G25x2y7[] = {
+ {&(_ZTV7G25x2y7[6]), 6,16},
+ {&(_ZTV7G25x2y7[11]), 11,16},
+ {&(_ZTV7G25x2y7[15]), 15,16},
+ {&(_tg__ZTV5E25x2__7G25x2y7[4]), 4,5},
+ {&(_tg__ZTV3C255E25x2__7G25x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E25x2__7G25x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x2y7[];
+extern VTBL_ENTRY _ZTV7G25x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x2y7[];
+Class_Descriptor cd_G25x2y7 = { "G25x2y7", // class name
+ bases_G25x2y7, 6,
+ &(vtc_G25x2y7[0]), // expected_vtbl_contents
+ &(vtt_G25x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x2y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x2y7),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 E26x2 : C26 , virtual D1 {
+ int fd;
+ ~E26x2(); // tgen
+ E26x2(); // tgen
+};
+//SIG(-1 E26x2) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E26x2 ::~E26x2(){ note_dtor("E26x2", this);} // tgen
+E26x2 ::E26x2(){ note_ctor("E26x2", this);} // tgen
+
+static void Test_E26x2()
+{
+ extern Class_Descriptor cd_E26x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E26x2, buf);
+ E26x2 *dp, &lv = *(dp=new (buf) E26x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E26x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x2)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(16,12), "E26x2");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(20,16), "E26x2");
+ check_base_class_offset(lv, (C26*), 0, "E26x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E26x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E26x2.fd");
+ test_class_info(&lv, &cd_E26x2);
+ dp->~E26x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x2(Test_E26x2, "E26x2", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E26x2C1Ev();
+extern void _ZN5E26x2D1Ev();
+Name_Map name_map_E26x2[] = {
+ NSPAIR(_ZN5E26x2C1Ev),
+ NSPAIR(_ZN5E26x2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E26x2[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B0, ABISELECT(20,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, 1},
+ {&cd_C26, 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(24,20), //bcp->offset
+ 6, //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E26x2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x2[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x2[] = {
+ {&(_ZTV5E26x2[5]), 5,10},
+ {&(_tg__ZTV3C26__5E26x2[4]), 4,5},
+ {&(_ZTV5E26x2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+Class_Descriptor cd_E26x2 = { "E26x2", // class name
+ bases_E26x2, 4,
+ &(vtc_E26x2[0]), // expected_vtbl_contents
+ &(vtt_E26x2[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E26x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x2),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 G26x2y0 : E26x2 , F1 {
+ int ff;
+ ~G26x2y0(); // tgen
+ G26x2y0(); // tgen
+};
+//SIG(1 G26x2y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x2y0 ::~G26x2y0(){ note_dtor("G26x2y0", this);} // tgen
+G26x2y0 ::G26x2y0(){ note_ctor("G26x2y0", this);} // tgen
+
+static void Test_G26x2y0()
+{
+ extern Class_Descriptor cd_G26x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x2y0, buf);
+ G26x2y0 *dp, &lv = *(dp=new (buf) G26x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y0)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(32,24), "G26x2y0");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(36,28), "G26x2y0");
+ check_base_class_offset(lv, (C26*)(E26x2*), 0, "G26x2y0");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(40,32), "G26x2y0");
+ check_base_class_offset(lv, (E26x2*), 0, "G26x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G26x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G26x2y0.ff");
+ test_class_info(&lv, &cd_G26x2y0);
+ dp->~G26x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y0(Test_G26x2y0, "G26x2y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y0C1Ev();
+extern void _ZN7G26x2y0D1Ev();
+Name_Map name_map_G26x2y0[] = {
+ NSPAIR(_ZN7G26x2y0C1Ev),
+ NSPAIR(_ZN7G26x2y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x2y0[] = {
+ // 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(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_C26, 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(40,32), //bcp->offset
+ 9, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G26x2y0[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y0[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y0[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y0[] = {
+ {&(_ZTV7G26x2y0[5]), 5,13},
+ {&(_tg__ZTV5E26x2__7G26x2y0[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y0[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y0[3]), 3,4},
+ {&(_ZTV7G26x2y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G26x2y0[];
+extern VTBL_ENTRY _ZTV7G26x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y0[];
+Class_Descriptor cd_G26x2y0 = { "G26x2y0", // class name
+ bases_G26x2y0, 6,
+ &(vtc_G26x2y0[0]), // expected_vtbl_contents
+ &(vtt_G26x2y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y0),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 G26x2y1 : virtual E26x2 , F1 {
+ int ff;
+ ~G26x2y1(); // tgen
+ G26x2y1(); // tgen
+};
+//SIG(1 G26x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x2y1 ::~G26x2y1(){ note_dtor("G26x2y1", this);} // tgen
+G26x2y1 ::G26x2y1(){ note_ctor("G26x2y1", this);} // tgen
+
+static void Test_G26x2y1()
+{
+ extern Class_Descriptor cd_G26x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x2y1, buf);
+ G26x2y1 *dp, &lv = *(dp=new (buf) G26x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y1)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(32,24), "G26x2y1");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(36,28), "G26x2y1");
+ check_base_class_offset(lv, (C26*)(E26x2*), ABISELECT(16,12), "G26x2y1");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(40,32), "G26x2y1");
+ check_base_class_offset(lv, (E26x2*), ABISELECT(16,12), "G26x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x2y1.ff");
+ test_class_info(&lv, &cd_G26x2y1);
+ dp->~G26x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y1(Test_G26x2y1, "G26x2y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y1C1Ev();
+extern void _ZN7G26x2y1D1Ev();
+Name_Map name_map_G26x2y1[] = {
+ NSPAIR(_ZN7G26x2y1C1Ev),
+ NSPAIR(_ZN7G26x2y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x2y1[] = {
+ // 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(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_C26, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y1[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y1[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y1[] = {
+ {&(_ZTV7G26x2y1[6]), 6,18},
+ {&(_ZTV7G26x2y1[13]), 13,18},
+ {&(_ZTV7G26x2y1[17]), 17,18},
+ {&(_tg__ZTV5E26x2__7G26x2y1[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y1[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G26x2y1[];
+extern VTBL_ENTRY _ZTV7G26x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y1[];
+Class_Descriptor cd_G26x2y1 = { "G26x2y1", // class name
+ bases_G26x2y1, 6,
+ &(vtc_G26x2y1[0]), // expected_vtbl_contents
+ &(vtt_G26x2y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y1),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y1),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 G26x2y2 : E26x2 , virtual F1 {
+ int ff;
+ ~G26x2y2(); // tgen
+ G26x2y2(); // tgen
+};
+//SIG(1 G26x2y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x2y2 ::~G26x2y2(){ note_dtor("G26x2y2", this);} // tgen
+G26x2y2 ::G26x2y2(){ note_ctor("G26x2y2", this);} // tgen
+
+static void Test_G26x2y2()
+{
+ extern Class_Descriptor cd_G26x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x2y2, buf);
+ G26x2y2 *dp, &lv = *(dp=new (buf) G26x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y2)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(20,16), "G26x2y2");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(24,20), "G26x2y2");
+ check_base_class_offset(lv, (C26*)(E26x2*), 0, "G26x2y2");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(32,24), "G26x2y2");
+ check_base_class_offset(lv, (E26x2*), 0, "G26x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x2y2.ff");
+ test_class_info(&lv, &cd_G26x2y2);
+ dp->~G26x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y2(Test_G26x2y2, "G26x2y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y2C1Ev();
+extern void _ZN7G26x2y2D1Ev();
+Name_Map name_map_G26x2y2[] = {
+ NSPAIR(_ZN7G26x2y2C1Ev),
+ NSPAIR(_ZN7G26x2y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B0, ABISELECT(24,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_C26, 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(32,24), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x2y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x2y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y2[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y2[] = {
+ {&(_ZTV7G26x2y2[6]), 6,15},
+ {&(_tg__ZTV5E26x2__7G26x2y2[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y2[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y2[3]), 3,4},
+ {&(_ZTV7G26x2y2[10]), 10,15},
+ {&(_ZTV7G26x2y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G26x2y2[];
+extern VTBL_ENTRY _ZTV7G26x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y2[];
+Class_Descriptor cd_G26x2y2 = { "G26x2y2", // class name
+ bases_G26x2y2, 6,
+ &(vtc_G26x2y2[0]), // expected_vtbl_contents
+ &(vtt_G26x2y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y2),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 G26x2y3 : virtual E26x2 , virtual F1 {
+ int ff;
+ ~G26x2y3(); // tgen
+ G26x2y3(); // tgen
+};
+//SIG(1 G26x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x2y3 ::~G26x2y3(){ note_dtor("G26x2y3", this);} // tgen
+G26x2y3 ::G26x2y3(){ note_ctor("G26x2y3", this);} // tgen
+
+static void Test_G26x2y3()
+{
+ extern Class_Descriptor cd_G26x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x2y3, buf);
+ G26x2y3 *dp, &lv = *(dp=new (buf) G26x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y3)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(32,20), "G26x2y3");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(36,24), "G26x2y3");
+ check_base_class_offset(lv, (C26*)(E26x2*), ABISELECT(16,8), "G26x2y3");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(40,28), "G26x2y3");
+ check_base_class_offset(lv, (E26x2*), ABISELECT(16,8), "G26x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x2y3.ff");
+ test_class_info(&lv, &cd_G26x2y3);
+ dp->~G26x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y3(Test_G26x2y3, "G26x2y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y3C1Ev();
+extern void _ZN7G26x2y3D1Ev();
+Name_Map name_map_G26x2y3[] = {
+ NSPAIR(_ZN7G26x2y3C1Ev),
+ NSPAIR(_ZN7G26x2y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x2y3[] = {
+ // 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_C26, 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(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 18, //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 _ZTI7G26x2y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x2y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y3[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y3[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y3[] = {
+ {&(_ZTV7G26x2y3[7]), 7,22},
+ {&(_ZTV7G26x2y3[13]), 13,22},
+ {&(_ZTV7G26x2y3[17]), 17,22},
+ {&(_ZTV7G26x2y3[21]), 21,22},
+ {&(_tg__ZTV5E26x2__7G26x2y3[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y3[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G26x2y3[];
+extern VTBL_ENTRY _ZTV7G26x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y3[];
+Class_Descriptor cd_G26x2y3 = { "G26x2y3", // class name
+ bases_G26x2y3, 6,
+ &(vtc_G26x2y3[0]), // expected_vtbl_contents
+ &(vtt_G26x2y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y3),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y3),7, //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 G26x2y4 : E26x2 , F0 {
+ int ff;
+ ~G26x2y4(); // tgen
+ G26x2y4(); // tgen
+};
+//SIG(1 G26x2y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x2y4 ::~G26x2y4(){ note_dtor("G26x2y4", this);} // tgen
+G26x2y4 ::G26x2y4(){ note_ctor("G26x2y4", this);} // tgen
+
+static void Test_G26x2y4()
+{
+ extern Class_Descriptor cd_G26x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x2y4, buf);
+ G26x2y4 *dp, &lv = *(dp=new (buf) G26x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y4)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(24,20), "G26x2y4");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(28,24), "G26x2y4");
+ check_base_class_offset(lv, (C26*)(E26x2*), 0, "G26x2y4");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(32,28), "G26x2y4");
+ check_base_class_offset(lv, (E26x2*), 0, "G26x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G26x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x2y4.ff");
+ test_class_info(&lv, &cd_G26x2y4);
+ dp->~G26x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y4(Test_G26x2y4, "G26x2y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y4C1Ev();
+extern void _ZN7G26x2y4D1Ev();
+Name_Map name_map_G26x2y4[] = {
+ NSPAIR(_ZN7G26x2y4C1Ev),
+ NSPAIR(_ZN7G26x2y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C26, 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(32,28), //bcp->offset
+ 6, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x2y4[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y4[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y4[] = {
+ {&(_ZTV7G26x2y4[5]), 5,10},
+ {&(_tg__ZTV5E26x2__7G26x2y4[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y4[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y4[3]), 3,4},
+ {&(_ZTV7G26x2y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G26x2y4[];
+extern VTBL_ENTRY _ZTV7G26x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y4[];
+Class_Descriptor cd_G26x2y4 = { "G26x2y4", // class name
+ bases_G26x2y4, 6,
+ &(vtc_G26x2y4[0]), // expected_vtbl_contents
+ &(vtt_G26x2y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y4),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 G26x2y5 : virtual E26x2 , F0 {
+ int ff;
+ ~G26x2y5(); // tgen
+ G26x2y5(); // tgen
+};
+//SIG(1 G26x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x2y5 ::~G26x2y5(){ note_dtor("G26x2y5", this);} // tgen
+G26x2y5 ::G26x2y5(){ note_ctor("G26x2y5", this);} // tgen
+
+static void Test_G26x2y5()
+{
+ extern Class_Descriptor cd_G26x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x2y5, buf);
+ G26x2y5 *dp, &lv = *(dp=new (buf) G26x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y5)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(32,24), "G26x2y5");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(36,28), "G26x2y5");
+ check_base_class_offset(lv, (C26*)(E26x2*), ABISELECT(16,12), "G26x2y5");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(40,32), "G26x2y5");
+ check_base_class_offset(lv, (E26x2*), ABISELECT(16,12), "G26x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x2y5.ff");
+ test_class_info(&lv, &cd_G26x2y5);
+ dp->~G26x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y5(Test_G26x2y5, "G26x2y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y5C1Ev();
+extern void _ZN7G26x2y5D1Ev();
+Name_Map name_map_G26x2y5[] = {
+ NSPAIR(_ZN7G26x2y5C1Ev),
+ NSPAIR(_ZN7G26x2y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x2y5[] = {
+ // 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(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_C26, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x2y5[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y5[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y5[] = {
+ {&(_ZTV7G26x2y5[6]), 6,17},
+ {&(_ZTV7G26x2y5[12]), 12,17},
+ {&(_ZTV7G26x2y5[16]), 16,17},
+ {&(_tg__ZTV5E26x2__7G26x2y5[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y5[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G26x2y5[];
+extern VTBL_ENTRY _ZTV7G26x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y5[];
+Class_Descriptor cd_G26x2y5 = { "G26x2y5", // class name
+ bases_G26x2y5, 6,
+ &(vtc_G26x2y5[0]), // expected_vtbl_contents
+ &(vtt_G26x2y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y5),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y5),6, //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 G26x2y6 : E26x2 , virtual F0 {
+ int ff;
+ ~G26x2y6(); // tgen
+ G26x2y6(); // tgen
+};
+//SIG(1 G26x2y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x2y6 ::~G26x2y6(){ note_dtor("G26x2y6", this);} // tgen
+G26x2y6 ::G26x2y6(){ note_ctor("G26x2y6", this);} // tgen
+
+static void Test_G26x2y6()
+{
+ extern Class_Descriptor cd_G26x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x2y6, buf);
+ G26x2y6 *dp, &lv = *(dp=new (buf) G26x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y6)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(20,16), "G26x2y6");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(24,20), "G26x2y6");
+ check_base_class_offset(lv, (C26*)(E26x2*), 0, "G26x2y6");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(32,24), "G26x2y6");
+ check_base_class_offset(lv, (E26x2*), 0, "G26x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x2y6.ff");
+ test_class_info(&lv, &cd_G26x2y6);
+ dp->~G26x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y6(Test_G26x2y6, "G26x2y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y6C1Ev();
+extern void _ZN7G26x2y6D1Ev();
+Name_Map name_map_G26x2y6[] = {
+ NSPAIR(_ZN7G26x2y6C1Ev),
+ NSPAIR(_ZN7G26x2y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B0, ABISELECT(24,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_C26, 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(32,24), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G26x2y6[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y6[] = {
+ {&(_ZTV7G26x2y6[6]), 6,11},
+ {&(_tg__ZTV5E26x2__7G26x2y6[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y6[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y6[3]), 3,4},
+ {&(_ZTV7G26x2y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G26x2y6[];
+extern VTBL_ENTRY _ZTV7G26x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y6[];
+Class_Descriptor cd_G26x2y6 = { "G26x2y6", // class name
+ bases_G26x2y6, 6,
+ &(vtc_G26x2y6[0]), // expected_vtbl_contents
+ &(vtt_G26x2y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y6),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 G26x2y7 : virtual E26x2 , virtual F0 {
+ int ff;
+ ~G26x2y7(); // tgen
+ G26x2y7(); // tgen
+};
+//SIG(1 G26x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x2y7 ::~G26x2y7(){ note_dtor("G26x2y7", this);} // tgen
+G26x2y7 ::G26x2y7(){ note_ctor("G26x2y7", this);} // tgen
+
+static void Test_G26x2y7()
+{
+ extern Class_Descriptor cd_G26x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x2y7, buf);
+ G26x2y7 *dp, &lv = *(dp=new (buf) G26x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x2y7)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x2*), ABISELECT(32,20), "G26x2y7");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x2*), ABISELECT(36,24), "G26x2y7");
+ check_base_class_offset(lv, (C26*)(E26x2*), ABISELECT(16,8), "G26x2y7");
+ check_base_class_offset(lv, (D1*)(E26x2*), ABISELECT(40,28), "G26x2y7");
+ check_base_class_offset(lv, (E26x2*), ABISELECT(16,8), "G26x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G26x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x2y7.ff");
+ test_class_info(&lv, &cd_G26x2y7);
+ dp->~G26x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x2y7(Test_G26x2y7, "G26x2y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x2y7C1Ev();
+extern void _ZN7G26x2y7D1Ev();
+Name_Map name_map_G26x2y7[] = {
+ NSPAIR(_ZN7G26x2y7C1Ev),
+ NSPAIR(_ZN7G26x2y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x2;
+extern VTBL_ENTRY _ZTI5E26x2[];
+extern VTBL_ENTRY _ZTV5E26x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x2y7[] = {
+ // 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_C26, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G26x2y7[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x2y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x2y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x2y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x2__7G26x2y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x2__7G26x2y7[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x2__7G26x2y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G26x2y7[] = {
+ {&(_ZTV7G26x2y7[7]), 7,18},
+ {&(_ZTV7G26x2y7[13]), 13,18},
+ {&(_ZTV7G26x2y7[17]), 17,18},
+ {&(_tg__ZTV5E26x2__7G26x2y7[5]), 5,6},
+ {&(_tg__ZTV3C265E26x2__7G26x2y7[4]), 4,5},
+ {&(_tg__ZTV2D1__5E26x2__7G26x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G26x2y7[];
+extern VTBL_ENTRY _ZTV7G26x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x2y7[];
+Class_Descriptor cd_G26x2y7 = { "G26x2y7", // class name
+ bases_G26x2y7, 6,
+ &(vtc_G26x2y7[0]), // expected_vtbl_contents
+ &(vtt_G26x2y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x2y7),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x2y7),6, //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 E27x2 : C27 , virtual D1 {
+ int fd;
+ ~E27x2(); // tgen
+ E27x2(); // tgen
+};
+//SIG(-1 E27x2) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E27x2 ::~E27x2(){ note_dtor("E27x2", this);} // tgen
+E27x2 ::E27x2(){ note_ctor("E27x2", this);} // tgen
+
+static void Test_E27x2()
+{
+ extern Class_Descriptor cd_E27x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E27x2, buf);
+ E27x2 *dp, &lv = *(dp=new (buf) E27x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E27x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x2)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(16,12), "E27x2");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(28,20), "E27x2");
+ check_base_class_offset(lv, (C27*), 0, "E27x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(32,24), "E27x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E27x2.fd");
+ test_class_info(&lv, &cd_E27x2);
+ dp->~E27x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x2(Test_E27x2, "E27x2", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E27x2C1Ev();
+extern void _ZN5E27x2D1Ev();
+Name_Map name_map_E27x2[] = {
+ NSPAIR(_ZN5E27x2C1Ev),
+ NSPAIR(_ZN5E27x2D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E27x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 6, //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(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, 1},
+ {&cd_C27, 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(32,24), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E27x2[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x2[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__5E27x2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x2[] = {
+ {&(_ZTV5E27x2[5]), 5,14},
+ {&(_tg__ZTV3C27__5E27x2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x2[3]), 3,4},
+ {&(_ZTV5E27x2[9]), 9,14},
+ {&(_ZTV5E27x2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+static VTBL_ENTRY alt_thunk_names152[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E27x2 = { "E27x2", // class name
+ bases_E27x2, 4,
+ &(vtc_E27x2[0]), // expected_vtbl_contents
+ &(vtt_E27x2[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E27x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x2),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names152,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y0 : E27x2 , F1 {
+ int ff;
+ ~G27x2y0(); // tgen
+ G27x2y0(); // tgen
+};
+//SIG(1 G27x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x2y0 ::~G27x2y0(){ note_dtor("G27x2y0", this);} // tgen
+G27x2y0 ::G27x2y0(){ note_ctor("G27x2y0", this);} // tgen
+
+static void Test_G27x2y0()
+{
+ extern Class_Descriptor cd_G27x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x2y0, buf);
+ G27x2y0 *dp, &lv = *(dp=new (buf) G27x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y0)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(32,24), "G27x2y0");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(44,32), "G27x2y0");
+ check_base_class_offset(lv, (C27*)(E27x2*), 0, "G27x2y0");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(48,36), "G27x2y0");
+ check_base_class_offset(lv, (E27x2*), 0, "G27x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G27x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G27x2y0.ff");
+ test_class_info(&lv, &cd_G27x2y0);
+ dp->~G27x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y0(Test_G27x2y0, "G27x2y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y0C1Ev();
+extern void _ZN7G27x2y0D1Ev();
+Name_Map name_map_G27x2y0[] = {
+ NSPAIR(_ZN7G27x2y0C1Ev),
+ NSPAIR(_ZN7G27x2y0D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x2y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //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
+ 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_C27, 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(48,36), //bcp->offset
+ 13, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G27x2y0[];
+extern void _ZN3C273fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y0[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y0[] = {
+ {&(_ZTV7G27x2y0[5]), 5,17},
+ {&(_tg__ZTV5E27x2__7G27x2y0[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y0[3]), 3,4},
+ {&(_ZTV7G27x2y0[12]), 12,17},
+ {&(_ZTV7G27x2y0[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G27x2y0[];
+extern VTBL_ENTRY _ZTV7G27x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y0[];
+static VTBL_ENTRY alt_thunk_names153[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y0 = { "G27x2y0", // class name
+ bases_G27x2y0, 6,
+ &(vtc_G27x2y0[0]), // expected_vtbl_contents
+ &(vtt_G27x2y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names153,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y1 : virtual E27x2 , F1 {
+ int ff;
+ ~G27x2y1(); // tgen
+ G27x2y1(); // tgen
+};
+//SIG(1 G27x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x2y1 ::~G27x2y1(){ note_dtor("G27x2y1", this);} // tgen
+G27x2y1 ::G27x2y1(){ note_ctor("G27x2y1", this);} // tgen
+
+static void Test_G27x2y1()
+{
+ extern Class_Descriptor cd_G27x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x2y1, buf);
+ G27x2y1 *dp, &lv = *(dp=new (buf) G27x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y1)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(32,24), "G27x2y1");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(44,32), "G27x2y1");
+ check_base_class_offset(lv, (C27*)(E27x2*), ABISELECT(16,12), "G27x2y1");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(48,36), "G27x2y1");
+ check_base_class_offset(lv, (E27x2*), ABISELECT(16,12), "G27x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x2y1.ff");
+ test_class_info(&lv, &cd_G27x2y1);
+ dp->~G27x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y1(Test_G27x2y1, "G27x2y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y1C1Ev();
+extern void _ZN7G27x2y1D1Ev();
+Name_Map name_map_G27x2y1[] = {
+ NSPAIR(_ZN7G27x2y1C1Ev),
+ NSPAIR(_ZN7G27x2y1D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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(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_C27, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,36), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y1[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y1[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y1[] = {
+ {&(_ZTV7G27x2y1[6]), 6,22},
+ {&(_ZTV7G27x2y1[13]), 13,22},
+ {&(_ZTV7G27x2y1[17]), 17,22},
+ {&(_ZTV7G27x2y1[21]), 21,22},
+ {&(_tg__ZTV5E27x2__7G27x2y1[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x2y1[];
+extern VTBL_ENTRY _ZTV7G27x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y1[];
+static VTBL_ENTRY alt_thunk_names154[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y1 = { "G27x2y1", // class name
+ bases_G27x2y1, 6,
+ &(vtc_G27x2y1[0]), // expected_vtbl_contents
+ &(vtt_G27x2y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names154,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y2 : E27x2 , virtual F1 {
+ int ff;
+ ~G27x2y2(); // tgen
+ G27x2y2(); // tgen
+};
+//SIG(1 G27x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x2y2 ::~G27x2y2(){ note_dtor("G27x2y2", this);} // tgen
+G27x2y2 ::G27x2y2(){ note_ctor("G27x2y2", this);} // tgen
+
+static void Test_G27x2y2()
+{
+ extern Class_Descriptor cd_G27x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x2y2, buf);
+ G27x2y2 *dp, &lv = *(dp=new (buf) G27x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y2)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(24,16), "G27x2y2");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(36,24), "G27x2y2");
+ check_base_class_offset(lv, (C27*)(E27x2*), 0, "G27x2y2");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(40,28), "G27x2y2");
+ check_base_class_offset(lv, (E27x2*), 0, "G27x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x2y2.ff");
+ test_class_info(&lv, &cd_G27x2y2);
+ dp->~G27x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y2(Test_G27x2y2, "G27x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y2C1Ev();
+extern void _ZN7G27x2y2D1Ev();
+Name_Map name_map_G27x2y2[] = {
+ NSPAIR(_ZN7G27x2y2C1Ev),
+ NSPAIR(_ZN7G27x2y2D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 7, //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
+ 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_C27, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x2y2[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y2[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y2[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y2[] = {
+ {&(_ZTV7G27x2y2[6]), 6,19},
+ {&(_tg__ZTV5E27x2__7G27x2y2[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y2[3]), 3,4},
+ {&(_ZTV7G27x2y2[10]), 10,19},
+ {&(_ZTV7G27x2y2[14]), 14,19},
+ {&(_ZTV7G27x2y2[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G27x2y2[];
+extern VTBL_ENTRY _ZTV7G27x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y2[];
+static VTBL_ENTRY alt_thunk_names155[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y2 = { "G27x2y2", // class name
+ bases_G27x2y2, 6,
+ &(vtc_G27x2y2[0]), // expected_vtbl_contents
+ &(vtt_G27x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names155,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y3 : virtual E27x2 , virtual F1 {
+ int ff;
+ ~G27x2y3(); // tgen
+ G27x2y3(); // tgen
+};
+//SIG(1 G27x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x2y3 ::~G27x2y3(){ note_dtor("G27x2y3", this);} // tgen
+G27x2y3 ::G27x2y3(){ note_ctor("G27x2y3", this);} // tgen
+
+static void Test_G27x2y3()
+{
+ extern Class_Descriptor cd_G27x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x2y3, buf);
+ G27x2y3 *dp, &lv = *(dp=new (buf) G27x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y3)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(32,20), "G27x2y3");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(44,28), "G27x2y3");
+ check_base_class_offset(lv, (C27*)(E27x2*), ABISELECT(16,8), "G27x2y3");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(48,32), "G27x2y3");
+ check_base_class_offset(lv, (E27x2*), ABISELECT(16,8), "G27x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G27x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x2y3.ff");
+ test_class_info(&lv, &cd_G27x2y3);
+ dp->~G27x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y3(Test_G27x2y3, "G27x2y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y3C1Ev();
+extern void _ZN7G27x2y3D1Ev();
+Name_Map name_map_G27x2y3[] = {
+ NSPAIR(_ZN7G27x2y3C1Ev),
+ NSPAIR(_ZN7G27x2y3D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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_C27, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 22, //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 _ZTI7G27x2y3[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x2y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y3[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y3[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y3[] = {
+ {&(_ZTV7G27x2y3[7]), 7,26},
+ {&(_ZTV7G27x2y3[13]), 13,26},
+ {&(_ZTV7G27x2y3[17]), 17,26},
+ {&(_ZTV7G27x2y3[21]), 21,26},
+ {&(_ZTV7G27x2y3[25]), 25,26},
+ {&(_tg__ZTV5E27x2__7G27x2y3[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x2y3[];
+extern VTBL_ENTRY _ZTV7G27x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y3[];
+static VTBL_ENTRY alt_thunk_names156[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y3 = { "G27x2y3", // class name
+ bases_G27x2y3, 6,
+ &(vtc_G27x2y3[0]), // expected_vtbl_contents
+ &(vtt_G27x2y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names156,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y4 : E27x2 , F0 {
+ int ff;
+ ~G27x2y4(); // tgen
+ G27x2y4(); // tgen
+};
+//SIG(1 G27x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x2y4 ::~G27x2y4(){ note_dtor("G27x2y4", this);} // tgen
+G27x2y4 ::G27x2y4(){ note_ctor("G27x2y4", this);} // tgen
+
+static void Test_G27x2y4()
+{
+ extern Class_Descriptor cd_G27x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x2y4, buf);
+ G27x2y4 *dp, &lv = *(dp=new (buf) G27x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y4)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(24,20), "G27x2y4");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(36,28), "G27x2y4");
+ check_base_class_offset(lv, (C27*)(E27x2*), 0, "G27x2y4");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(40,32), "G27x2y4");
+ check_base_class_offset(lv, (E27x2*), 0, "G27x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G27x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x2y4.ff");
+ test_class_info(&lv, &cd_G27x2y4);
+ dp->~G27x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y4(Test_G27x2y4, "G27x2y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y4C1Ev();
+extern void _ZN7G27x2y4D1Ev();
+Name_Map name_map_G27x2y4[] = {
+ NSPAIR(_ZN7G27x2y4C1Ev),
+ NSPAIR(_ZN7G27x2y4D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&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_C27, 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(40,32), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x2y4[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y4[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y4[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y4[] = {
+ {&(_ZTV7G27x2y4[5]), 5,14},
+ {&(_tg__ZTV5E27x2__7G27x2y4[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y4[3]), 3,4},
+ {&(_ZTV7G27x2y4[9]), 9,14},
+ {&(_ZTV7G27x2y4[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G27x2y4[];
+extern VTBL_ENTRY _ZTV7G27x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y4[];
+static VTBL_ENTRY alt_thunk_names157[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y4 = { "G27x2y4", // class name
+ bases_G27x2y4, 6,
+ &(vtc_G27x2y4[0]), // expected_vtbl_contents
+ &(vtt_G27x2y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names157,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y5 : virtual E27x2 , F0 {
+ int ff;
+ ~G27x2y5(); // tgen
+ G27x2y5(); // tgen
+};
+//SIG(1 G27x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x2y5 ::~G27x2y5(){ note_dtor("G27x2y5", this);} // tgen
+G27x2y5 ::G27x2y5(){ note_ctor("G27x2y5", this);} // tgen
+
+static void Test_G27x2y5()
+{
+ extern Class_Descriptor cd_G27x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x2y5, buf);
+ G27x2y5 *dp, &lv = *(dp=new (buf) G27x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y5)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(32,24), "G27x2y5");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(44,32), "G27x2y5");
+ check_base_class_offset(lv, (C27*)(E27x2*), ABISELECT(16,12), "G27x2y5");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(48,36), "G27x2y5");
+ check_base_class_offset(lv, (E27x2*), ABISELECT(16,12), "G27x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x2y5.ff");
+ test_class_info(&lv, &cd_G27x2y5);
+ dp->~G27x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y5(Test_G27x2y5, "G27x2y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y5C1Ev();
+extern void _ZN7G27x2y5D1Ev();
+Name_Map name_map_G27x2y5[] = {
+ NSPAIR(_ZN7G27x2y5C1Ev),
+ NSPAIR(_ZN7G27x2y5D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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(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_C27, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,36), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x2y5[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y5[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y5[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y5[] = {
+ {&(_ZTV7G27x2y5[6]), 6,21},
+ {&(_ZTV7G27x2y5[12]), 12,21},
+ {&(_ZTV7G27x2y5[16]), 16,21},
+ {&(_ZTV7G27x2y5[20]), 20,21},
+ {&(_tg__ZTV5E27x2__7G27x2y5[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x2y5[];
+extern VTBL_ENTRY _ZTV7G27x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y5[];
+static VTBL_ENTRY alt_thunk_names158[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y5 = { "G27x2y5", // class name
+ bases_G27x2y5, 6,
+ &(vtc_G27x2y5[0]), // expected_vtbl_contents
+ &(vtt_G27x2y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names158,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y6 : E27x2 , virtual F0 {
+ int ff;
+ ~G27x2y6(); // tgen
+ G27x2y6(); // tgen
+};
+//SIG(1 G27x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x2y6 ::~G27x2y6(){ note_dtor("G27x2y6", this);} // tgen
+G27x2y6 ::G27x2y6(){ note_ctor("G27x2y6", this);} // tgen
+
+static void Test_G27x2y6()
+{
+ extern Class_Descriptor cd_G27x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x2y6, buf);
+ G27x2y6 *dp, &lv = *(dp=new (buf) G27x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y6)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(24,16), "G27x2y6");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(36,24), "G27x2y6");
+ check_base_class_offset(lv, (C27*)(E27x2*), 0, "G27x2y6");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(40,28), "G27x2y6");
+ check_base_class_offset(lv, (E27x2*), 0, "G27x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G27x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x2y6.ff");
+ test_class_info(&lv, &cd_G27x2y6);
+ dp->~G27x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y6(Test_G27x2y6, "G27x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y6C1Ev();
+extern void _ZN7G27x2y6D1Ev();
+Name_Map name_map_G27x2y6[] = {
+ NSPAIR(_ZN7G27x2y6C1Ev),
+ NSPAIR(_ZN7G27x2y6D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 7, //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
+ 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_C27, 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(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G27x2y6[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y6[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y6[] = {
+ {&(_ZTV7G27x2y6[6]), 6,15},
+ {&(_tg__ZTV5E27x2__7G27x2y6[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y6[3]), 3,4},
+ {&(_ZTV7G27x2y6[10]), 10,15},
+ {&(_ZTV7G27x2y6[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G27x2y6[];
+extern VTBL_ENTRY _ZTV7G27x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y6[];
+static VTBL_ENTRY alt_thunk_names159[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y6 = { "G27x2y6", // class name
+ bases_G27x2y6, 6,
+ &(vtc_G27x2y6[0]), // expected_vtbl_contents
+ &(vtt_G27x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names159,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x2y7 : virtual E27x2 , virtual F0 {
+ int ff;
+ ~G27x2y7(); // tgen
+ G27x2y7(); // tgen
+};
+//SIG(1 G27x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x2y7 ::~G27x2y7(){ note_dtor("G27x2y7", this);} // tgen
+G27x2y7 ::G27x2y7(){ note_ctor("G27x2y7", this);} // tgen
+
+static void Test_G27x2y7()
+{
+ extern Class_Descriptor cd_G27x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x2y7, buf);
+ G27x2y7 *dp, &lv = *(dp=new (buf) G27x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x2y7)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x2*), ABISELECT(32,20), "G27x2y7");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x2*), ABISELECT(44,28), "G27x2y7");
+ check_base_class_offset(lv, (C27*)(E27x2*), ABISELECT(16,8), "G27x2y7");
+ check_base_class_offset(lv, (D1*)(E27x2*), ABISELECT(48,32), "G27x2y7");
+ check_base_class_offset(lv, (E27x2*), ABISELECT(16,8), "G27x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G27x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x2y7.ff");
+ test_class_info(&lv, &cd_G27x2y7);
+ dp->~G27x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x2y7(Test_G27x2y7, "G27x2y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x2y7C1Ev();
+extern void _ZN7G27x2y7D1Ev();
+Name_Map name_map_G27x2y7[] = {
+ NSPAIR(_ZN7G27x2y7C1Ev),
+ NSPAIR(_ZN7G27x2y7D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x2;
+extern VTBL_ENTRY _ZTI5E27x2[];
+extern VTBL_ENTRY _ZTV5E27x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(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_C27, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G27x2y7[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x2y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x2y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x2y7[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x2__7G27x2y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x2__7G27x2y7[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C275E27x2__7G27x2y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x2__7G27x2y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x2__7G27x2y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G27x2y7[] = {
+ {&(_ZTV7G27x2y7[7]), 7,22},
+ {&(_ZTV7G27x2y7[13]), 13,22},
+ {&(_ZTV7G27x2y7[17]), 17,22},
+ {&(_ZTV7G27x2y7[21]), 21,22},
+ {&(_tg__ZTV5E27x2__7G27x2y7[5]), 5,6},
+ {&(_tg__ZTV3C275E27x2__7G27x2y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x2__7G27x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x2__7G27x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x2__7G27x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x2y7[];
+extern VTBL_ENTRY _ZTV7G27x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x2y7[];
+static VTBL_ENTRY alt_thunk_names160[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x2y7 = { "G27x2y7", // class name
+ bases_G27x2y7, 6,
+ &(vtc_G27x2y7[0]), // expected_vtbl_contents
+ &(vtt_G27x2y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x2y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x2y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names160,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x2 : C28 , virtual D1 {
+ int fd;
+ ~E28x2(); // tgen
+ E28x2(); // tgen
+};
+//SIG(-1 E28x2) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E28x2 ::~E28x2(){ note_dtor("E28x2", this);} // tgen
+E28x2 ::E28x2(){ note_ctor("E28x2", this);} // tgen
+
+static void Test_E28x2()
+{
+ extern Class_Descriptor cd_E28x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E28x2, buf);
+ E28x2 *dp, &lv = *(dp=new (buf) E28x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E28x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x2)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(8,4), "E28x2");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(24,16), "E28x2");
+ check_base_class_offset(lv, (C28*), 0, "E28x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E28x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E28x2.fd");
+ test_class_info(&lv, &cd_E28x2);
+ dp->~E28x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x2(Test_E28x2, "E28x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E28x2C1Ev();
+extern void _ZN5E28x2D1Ev();
+Name_Map name_map_E28x2[] = {
+ NSPAIR(_ZN5E28x2C1Ev),
+ NSPAIR(_ZN5E28x2D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E28x2[] = {
+ // 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(24,16), //bcp->offset
+ 5, //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_C28, 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(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E28x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__5E28x2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x2[] = {
+ {&(_ZTV5E28x2[4]), 4,13},
+ {&(_tg__ZTV3C28__5E28x2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x2[3]), 3,4},
+ {&(_ZTV5E28x2[8]), 8,13},
+ {&(_ZTV5E28x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+static VTBL_ENTRY alt_thunk_names161[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E28x2 = { "E28x2", // class name
+ bases_E28x2, 4,
+ &(vtc_E28x2[0]), // expected_vtbl_contents
+ &(vtt_E28x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E28x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x2),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names161,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y0 : E28x2 , F1 {
+ int ff;
+ ~G28x2y0(); // tgen
+ G28x2y0(); // tgen
+};
+//SIG(1 G28x2y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x2y0 ::~G28x2y0(){ note_dtor("G28x2y0", this);} // tgen
+G28x2y0 ::G28x2y0(){ note_ctor("G28x2y0", this);} // tgen
+
+static void Test_G28x2y0()
+{
+ extern Class_Descriptor cd_G28x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x2y0, buf);
+ G28x2y0 *dp, &lv = *(dp=new (buf) G28x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y0)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(8,4), "G28x2y0");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(40,28), "G28x2y0");
+ check_base_class_offset(lv, (C28*)(E28x2*), 0, "G28x2y0");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(56,36), "G28x2y0");
+ check_base_class_offset(lv, (E28x2*), 0, "G28x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G28x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G28x2y0.ff");
+ test_class_info(&lv, &cd_G28x2y0);
+ dp->~G28x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y0(Test_G28x2y0, "G28x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y0C1Ev();
+extern void _ZN7G28x2y0D1Ev();
+Name_Map name_map_G28x2y0[] = {
+ NSPAIR(_ZN7G28x2y0C1Ev),
+ NSPAIR(_ZN7G28x2y0D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x2y0[] = {
+ // 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)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, 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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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(24,16), //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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x2y0[];
+extern void _ZN3C283fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y0[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y0[] = {
+ {&(_ZTV7G28x2y0[4]), 4,16},
+ {&(_tg__ZTV5E28x2__7G28x2y0[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y0[3]), 3,4},
+ {&(_ZTV7G28x2y0[11]), 11,16},
+ {&(_ZTV7G28x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G28x2y0[];
+extern VTBL_ENTRY _ZTV7G28x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y0[];
+static VTBL_ENTRY alt_thunk_names162[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y0 = { "G28x2y0", // class name
+ bases_G28x2y0, 6,
+ &(vtc_G28x2y0[0]), // expected_vtbl_contents
+ &(vtt_G28x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names162,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y1 : virtual E28x2 , F1 {
+ int ff;
+ ~G28x2y1(); // tgen
+ G28x2y1(); // tgen
+};
+//SIG(1 G28x2y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x2y1 ::~G28x2y1(){ note_dtor("G28x2y1", this);} // tgen
+G28x2y1 ::G28x2y1(){ note_ctor("G28x2y1", this);} // tgen
+
+static void Test_G28x2y1()
+{
+ extern Class_Descriptor cd_G28x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x2y1, buf);
+ G28x2y1 *dp, &lv = *(dp=new (buf) G28x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y1)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(24,16), "G28x2y1");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(40,28), "G28x2y1");
+ check_base_class_offset(lv, (C28*)(E28x2*), ABISELECT(16,12), "G28x2y1");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(56,36), "G28x2y1");
+ check_base_class_offset(lv, (E28x2*), ABISELECT(16,12), "G28x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x2y1.ff");
+ test_class_info(&lv, &cd_G28x2y1);
+ dp->~G28x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y1(Test_G28x2y1, "G28x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y1C1Ev();
+extern void _ZN7G28x2y1D1Ev();
+Name_Map name_map_G28x2y1[] = {
+ NSPAIR(_ZN7G28x2y1C1Ev),
+ NSPAIR(_ZN7G28x2y1D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x2y1[] = {
+ // 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(40,28), //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_C28, 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(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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 _ZTI7G28x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y1[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y1[] = {
+ {&(_ZTV7G28x2y1[5]), 5,20},
+ {&(_ZTV7G28x2y1[11]), 11,20},
+ {&(_ZTV7G28x2y1[15]), 15,20},
+ {&(_ZTV7G28x2y1[19]), 19,20},
+ {&(_tg__ZTV5E28x2__7G28x2y1[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x2y1[];
+extern VTBL_ENTRY _ZTV7G28x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y1[];
+static VTBL_ENTRY alt_thunk_names163[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y1 = { "G28x2y1", // class name
+ bases_G28x2y1, 6,
+ &(vtc_G28x2y1[0]), // expected_vtbl_contents
+ &(vtt_G28x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names163,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y2 : E28x2 , virtual F1 {
+ int ff;
+ ~G28x2y2(); // tgen
+ G28x2y2(); // tgen
+};
+//SIG(1 G28x2y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x2y2 ::~G28x2y2(){ note_dtor("G28x2y2", this);} // tgen
+G28x2y2 ::G28x2y2(){ note_ctor("G28x2y2", this);} // tgen
+
+static void Test_G28x2y2()
+{
+ extern Class_Descriptor cd_G28x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x2y2, buf);
+ G28x2y2 *dp, &lv = *(dp=new (buf) G28x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y2)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(8,4), "G28x2y2");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(24,20), "G28x2y2");
+ check_base_class_offset(lv, (C28*)(E28x2*), 0, "G28x2y2");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(40,28), "G28x2y2");
+ check_base_class_offset(lv, (E28x2*), 0, "G28x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x2y2.ff");
+ test_class_info(&lv, &cd_G28x2y2);
+ dp->~G28x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y2(Test_G28x2y2, "G28x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y2C1Ev();
+extern void _ZN7G28x2y2D1Ev();
+Name_Map name_map_G28x2y2[] = {
+ NSPAIR(_ZN7G28x2y2C1Ev),
+ NSPAIR(_ZN7G28x2y2D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x2y2[] = {
+ // 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(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x2y2[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y2[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y2[] = {
+ {&(_ZTV7G28x2y2[5]), 5,18},
+ {&(_tg__ZTV5E28x2__7G28x2y2[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y2[3]), 3,4},
+ {&(_ZTV7G28x2y2[9]), 9,18},
+ {&(_ZTV7G28x2y2[13]), 13,18},
+ {&(_ZTV7G28x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G28x2y2[];
+extern VTBL_ENTRY _ZTV7G28x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y2[];
+static VTBL_ENTRY alt_thunk_names164[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y2 = { "G28x2y2", // class name
+ bases_G28x2y2, 6,
+ &(vtc_G28x2y2[0]), // expected_vtbl_contents
+ &(vtt_G28x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names164,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y3 : virtual E28x2 , virtual F1 {
+ int ff;
+ ~G28x2y3(); // tgen
+ G28x2y3(); // tgen
+};
+//SIG(1 G28x2y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x2y3 ::~G28x2y3(){ note_dtor("G28x2y3", this);} // tgen
+G28x2y3 ::G28x2y3(){ note_ctor("G28x2y3", this);} // tgen
+
+static void Test_G28x2y3()
+{
+ extern Class_Descriptor cd_G28x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G28x2y3, buf);
+ G28x2y3 *dp, &lv = *(dp=new (buf) G28x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G28x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y3)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(24,12), "G28x2y3");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(40,24), "G28x2y3");
+ check_base_class_offset(lv, (C28*)(E28x2*), ABISELECT(16,8), "G28x2y3");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(56,32), "G28x2y3");
+ check_base_class_offset(lv, (E28x2*), ABISELECT(16,8), "G28x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G28x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x2y3.ff");
+ test_class_info(&lv, &cd_G28x2y3);
+ dp->~G28x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y3(Test_G28x2y3, "G28x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y3C1Ev();
+extern void _ZN7G28x2y3D1Ev();
+Name_Map name_map_G28x2y3[] = {
+ NSPAIR(_ZN7G28x2y3C1Ev),
+ NSPAIR(_ZN7G28x2y3D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x2y3[] = {
+ // 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(40,24), //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_C28, 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(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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
+ 20, //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 _ZTI7G28x2y3[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y3[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y3[] = {
+ {&(_ZTV7G28x2y3[6]), 6,24},
+ {&(_ZTV7G28x2y3[11]), 11,24},
+ {&(_ZTV7G28x2y3[15]), 15,24},
+ {&(_ZTV7G28x2y3[19]), 19,24},
+ {&(_ZTV7G28x2y3[23]), 23,24},
+ {&(_tg__ZTV5E28x2__7G28x2y3[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x2y3[];
+extern VTBL_ENTRY _ZTV7G28x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y3[];
+static VTBL_ENTRY alt_thunk_names165[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y3 = { "G28x2y3", // class name
+ bases_G28x2y3, 6,
+ &(vtc_G28x2y3[0]), // expected_vtbl_contents
+ &(vtt_G28x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G28x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names165,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y4 : E28x2 , F0 {
+ int ff;
+ ~G28x2y4(); // tgen
+ G28x2y4(); // tgen
+};
+//SIG(1 G28x2y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x2y4 ::~G28x2y4(){ note_dtor("G28x2y4", this);} // tgen
+G28x2y4 ::G28x2y4(){ note_ctor("G28x2y4", this);} // tgen
+
+static void Test_G28x2y4()
+{
+ extern Class_Descriptor cd_G28x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G28x2y4, buf);
+ G28x2y4 *dp, &lv = *(dp=new (buf) G28x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G28x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y4)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(8,4), "G28x2y4");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(32,24), "G28x2y4");
+ check_base_class_offset(lv, (C28*)(E28x2*), 0, "G28x2y4");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(48,32), "G28x2y4");
+ check_base_class_offset(lv, (E28x2*), 0, "G28x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G28x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G28x2y4.ff");
+ test_class_info(&lv, &cd_G28x2y4);
+ dp->~G28x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y4(Test_G28x2y4, "G28x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y4C1Ev();
+extern void _ZN7G28x2y4D1Ev();
+Name_Map name_map_G28x2y4[] = {
+ NSPAIR(_ZN7G28x2y4C1Ev),
+ NSPAIR(_ZN7G28x2y4D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x2y4[] = {
+ // 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
+ 5, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x2y4[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y4[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y4[] = {
+ {&(_ZTV7G28x2y4[4]), 4,13},
+ {&(_tg__ZTV5E28x2__7G28x2y4[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y4[3]), 3,4},
+ {&(_ZTV7G28x2y4[8]), 8,13},
+ {&(_ZTV7G28x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G28x2y4[];
+extern VTBL_ENTRY _ZTV7G28x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y4[];
+static VTBL_ENTRY alt_thunk_names166[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y4 = { "G28x2y4", // class name
+ bases_G28x2y4, 6,
+ &(vtc_G28x2y4[0]), // expected_vtbl_contents
+ &(vtt_G28x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G28x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names166,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y5 : virtual E28x2 , F0 {
+ int ff;
+ ~G28x2y5(); // tgen
+ G28x2y5(); // tgen
+};
+//SIG(1 G28x2y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x2y5 ::~G28x2y5(){ note_dtor("G28x2y5", this);} // tgen
+G28x2y5 ::G28x2y5(){ note_ctor("G28x2y5", this);} // tgen
+
+static void Test_G28x2y5()
+{
+ extern Class_Descriptor cd_G28x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x2y5, buf);
+ G28x2y5 *dp, &lv = *(dp=new (buf) G28x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y5)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(24,16), "G28x2y5");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(40,28), "G28x2y5");
+ check_base_class_offset(lv, (C28*)(E28x2*), ABISELECT(16,12), "G28x2y5");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(56,36), "G28x2y5");
+ check_base_class_offset(lv, (E28x2*), ABISELECT(16,12), "G28x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x2y5.ff");
+ test_class_info(&lv, &cd_G28x2y5);
+ dp->~G28x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y5(Test_G28x2y5, "G28x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y5C1Ev();
+extern void _ZN7G28x2y5D1Ev();
+Name_Map name_map_G28x2y5[] = {
+ NSPAIR(_ZN7G28x2y5C1Ev),
+ NSPAIR(_ZN7G28x2y5D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x2y5[] = {
+ // 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(40,28), //bcp->offset
+ 11, //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_C28, 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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 _ZTI7G28x2y5[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y5[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y5[] = {
+ {&(_ZTV7G28x2y5[5]), 5,19},
+ {&(_ZTV7G28x2y5[10]), 10,19},
+ {&(_ZTV7G28x2y5[14]), 14,19},
+ {&(_ZTV7G28x2y5[18]), 18,19},
+ {&(_tg__ZTV5E28x2__7G28x2y5[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x2y5[];
+extern VTBL_ENTRY _ZTV7G28x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y5[];
+static VTBL_ENTRY alt_thunk_names167[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y5 = { "G28x2y5", // class name
+ bases_G28x2y5, 6,
+ &(vtc_G28x2y5[0]), // expected_vtbl_contents
+ &(vtt_G28x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names167,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y6 : E28x2 , virtual F0 {
+ int ff;
+ ~G28x2y6(); // tgen
+ G28x2y6(); // tgen
+};
+//SIG(1 G28x2y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x2y6 ::~G28x2y6(){ note_dtor("G28x2y6", this);} // tgen
+G28x2y6 ::G28x2y6(){ note_ctor("G28x2y6", this);} // tgen
+
+static void Test_G28x2y6()
+{
+ extern Class_Descriptor cd_G28x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x2y6, buf);
+ G28x2y6 *dp, &lv = *(dp=new (buf) G28x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y6)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(8,4), "G28x2y6");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(24,20), "G28x2y6");
+ check_base_class_offset(lv, (C28*)(E28x2*), 0, "G28x2y6");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(40,28), "G28x2y6");
+ check_base_class_offset(lv, (E28x2*), 0, "G28x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G28x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x2y6.ff");
+ test_class_info(&lv, &cd_G28x2y6);
+ dp->~G28x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y6(Test_G28x2y6, "G28x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y6C1Ev();
+extern void _ZN7G28x2y6D1Ev();
+Name_Map name_map_G28x2y6[] = {
+ NSPAIR(_ZN7G28x2y6C1Ev),
+ NSPAIR(_ZN7G28x2y6D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x2y6[] = {
+ // 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(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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 _ZTI7G28x2y6[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y6[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y6[] = {
+ {&(_ZTV7G28x2y6[5]), 5,14},
+ {&(_tg__ZTV5E28x2__7G28x2y6[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y6[3]), 3,4},
+ {&(_ZTV7G28x2y6[9]), 9,14},
+ {&(_ZTV7G28x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G28x2y6[];
+extern VTBL_ENTRY _ZTV7G28x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y6[];
+static VTBL_ENTRY alt_thunk_names168[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y6 = { "G28x2y6", // class name
+ bases_G28x2y6, 6,
+ &(vtc_G28x2y6[0]), // expected_vtbl_contents
+ &(vtt_G28x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names168,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x2y7 : virtual E28x2 , virtual F0 {
+ int ff;
+ ~G28x2y7(); // tgen
+ G28x2y7(); // tgen
+};
+//SIG(1 G28x2y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x2y7 ::~G28x2y7(){ note_dtor("G28x2y7", this);} // tgen
+G28x2y7 ::G28x2y7(){ note_ctor("G28x2y7", this);} // tgen
+
+static void Test_G28x2y7()
+{
+ extern Class_Descriptor cd_G28x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x2y7, buf);
+ G28x2y7 *dp, &lv = *(dp=new (buf) G28x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x2y7)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x2*), ABISELECT(24,12), "G28x2y7");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x2*), ABISELECT(40,24), "G28x2y7");
+ check_base_class_offset(lv, (C28*)(E28x2*), ABISELECT(16,8), "G28x2y7");
+ check_base_class_offset(lv, (D1*)(E28x2*), ABISELECT(56,32), "G28x2y7");
+ check_base_class_offset(lv, (E28x2*), ABISELECT(16,8), "G28x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G28x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x2y7.ff");
+ test_class_info(&lv, &cd_G28x2y7);
+ dp->~G28x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x2y7(Test_G28x2y7, "G28x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x2y7C1Ev();
+extern void _ZN7G28x2y7D1Ev();
+Name_Map name_map_G28x2y7[] = {
+ NSPAIR(_ZN7G28x2y7C1Ev),
+ NSPAIR(_ZN7G28x2y7D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x2;
+extern VTBL_ENTRY _ZTI5E28x2[];
+extern VTBL_ENTRY _ZTV5E28x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x2y7[] = {
+ // 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(40,24), //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_C28, 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(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x2, 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 _ZTI7G28x2y7[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x2y7[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x2__7G28x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x2__7G28x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x2__7G28x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x2__7G28x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x2__7G28x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G28x2y7[] = {
+ {&(_ZTV7G28x2y7[6]), 6,20},
+ {&(_ZTV7G28x2y7[11]), 11,20},
+ {&(_ZTV7G28x2y7[15]), 15,20},
+ {&(_ZTV7G28x2y7[19]), 19,20},
+ {&(_tg__ZTV5E28x2__7G28x2y7[4]), 4,5},
+ {&(_tg__ZTV3C285E28x2__7G28x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x2__7G28x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x2__7G28x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x2__7G28x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x2y7[];
+extern VTBL_ENTRY _ZTV7G28x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x2y7[];
+static VTBL_ENTRY alt_thunk_names169[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x2y7 = { "G28x2y7", // class name
+ bases_G28x2y7, 6,
+ &(vtc_G28x2y7[0]), // expected_vtbl_contents
+ &(vtt_G28x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x2y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names169,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x2 : C29 , virtual D1 {
+ int fd;
+ ~E29x2(); // tgen
+ E29x2(); // tgen
+};
+//SIG(-1 E29x2) C1{ BC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E29x2 ::~E29x2(){ note_dtor("E29x2", this);} // tgen
+E29x2 ::E29x2(){ note_ctor("E29x2", this);} // tgen
+
+static void Test_E29x2()
+{
+ extern Class_Descriptor cd_E29x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E29x2, buf);
+ E29x2 *dp, &lv = *(dp=new (buf) E29x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E29x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x2)");
+ check_base_class_offset(lv, (A1*)(C29*), 0, "E29x2");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(24,16), "E29x2");
+ check_base_class_offset(lv, (C29*), 0, "E29x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E29x2");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E29x2.fd");
+ test_class_info(&lv, &cd_E29x2);
+ dp->~E29x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x2(Test_E29x2, "E29x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E29x2C1Ev();
+extern void _ZN5E29x2D1Ev();
+Name_Map name_map_E29x2[] = {
+ NSPAIR(_ZN5E29x2C1Ev),
+ NSPAIR(_ZN5E29x2D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E29x2[] = {
+ // 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(24,16), //bcp->offset
+ 5, //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_C29, 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_D1, ABISELECT(40,24), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E29x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__5E29x2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x2[] = {
+ {&(_ZTV5E29x2[4]), 4,13},
+ {&(_tg__ZTV3C29__5E29x2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x2[3]), 3,4},
+ {&(_ZTV5E29x2[8]), 8,13},
+ {&(_ZTV5E29x2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+static VTBL_ENTRY alt_thunk_names170[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E29x2 = { "E29x2", // class name
+ bases_E29x2, 4,
+ &(vtc_E29x2[0]), // expected_vtbl_contents
+ &(vtt_E29x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E29x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x2),5, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names170,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y0 : E29x2 , F1 {
+ int ff;
+ ~G29x2y0(); // tgen
+ G29x2y0(); // tgen
+};
+//SIG(1 G29x2y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x2y0 ::~G29x2y0(){ note_dtor("G29x2y0", this);} // tgen
+G29x2y0 ::G29x2y0(){ note_ctor("G29x2y0", this);} // tgen
+
+static void Test_G29x2y0()
+{
+ extern Class_Descriptor cd_G29x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x2y0, buf);
+ G29x2y0 *dp, &lv = *(dp=new (buf) G29x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y0)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), 0, "G29x2y0");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(40,28), "G29x2y0");
+ check_base_class_offset(lv, (C29*)(E29x2*), 0, "G29x2y0");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(56,36), "G29x2y0");
+ check_base_class_offset(lv, (E29x2*), 0, "G29x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G29x2y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G29x2y0.ff");
+ test_class_info(&lv, &cd_G29x2y0);
+ dp->~G29x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y0(Test_G29x2y0, "G29x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y0C1Ev();
+extern void _ZN7G29x2y0D1Ev();
+Name_Map name_map_G29x2y0[] = {
+ NSPAIR(_ZN7G29x2y0C1Ev),
+ NSPAIR(_ZN7G29x2y0D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x2y0[] = {
+ // 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)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, 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(56,36), //bcp->offset
+ 12, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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(24,16), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x2y0[];
+extern void _ZN3C293fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y0[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y0[] = {
+ {&(_ZTV7G29x2y0[4]), 4,16},
+ {&(_tg__ZTV5E29x2__7G29x2y0[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y0[3]), 3,4},
+ {&(_ZTV7G29x2y0[11]), 11,16},
+ {&(_ZTV7G29x2y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G29x2y0[];
+extern VTBL_ENTRY _ZTV7G29x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y0[];
+static VTBL_ENTRY alt_thunk_names171[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y0 = { "G29x2y0", // class name
+ bases_G29x2y0, 6,
+ &(vtc_G29x2y0[0]), // expected_vtbl_contents
+ &(vtt_G29x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y0),8, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names171,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y1 : virtual E29x2 , F1 {
+ int ff;
+ ~G29x2y1(); // tgen
+ G29x2y1(); // tgen
+};
+//SIG(1 G29x2y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x2y1 ::~G29x2y1(){ note_dtor("G29x2y1", this);} // tgen
+G29x2y1 ::G29x2y1(){ note_ctor("G29x2y1", this);} // tgen
+
+static void Test_G29x2y1()
+{
+ extern Class_Descriptor cd_G29x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x2y1, buf);
+ G29x2y1 *dp, &lv = *(dp=new (buf) G29x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y1)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), ABISELECT(16,12), "G29x2y1");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(40,28), "G29x2y1");
+ check_base_class_offset(lv, (C29*)(E29x2*), ABISELECT(16,12), "G29x2y1");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(56,36), "G29x2y1");
+ check_base_class_offset(lv, (E29x2*), ABISELECT(16,12), "G29x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x2y1.ff");
+ test_class_info(&lv, &cd_G29x2y1);
+ dp->~G29x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y1(Test_G29x2y1, "G29x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y1C1Ev();
+extern void _ZN7G29x2y1D1Ev();
+Name_Map name_map_G29x2y1[] = {
+ NSPAIR(_ZN7G29x2y1C1Ev),
+ NSPAIR(_ZN7G29x2y1D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x2y1[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //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_C29, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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
+ 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 _ZTI7G29x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y1[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y1[] = {
+ {&(_ZTV7G29x2y1[5]), 5,20},
+ {&(_ZTV7G29x2y1[11]), 11,20},
+ {&(_ZTV7G29x2y1[15]), 15,20},
+ {&(_ZTV7G29x2y1[19]), 19,20},
+ {&(_tg__ZTV5E29x2__7G29x2y1[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x2y1[];
+extern VTBL_ENTRY _ZTV7G29x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y1[];
+static VTBL_ENTRY alt_thunk_names172[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y1 = { "G29x2y1", // class name
+ bases_G29x2y1, 6,
+ &(vtc_G29x2y1[0]), // expected_vtbl_contents
+ &(vtt_G29x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y1),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names172,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y2 : E29x2 , virtual F1 {
+ int ff;
+ ~G29x2y2(); // tgen
+ G29x2y2(); // tgen
+};
+//SIG(1 G29x2y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x2y2 ::~G29x2y2(){ note_dtor("G29x2y2", this);} // tgen
+G29x2y2 ::G29x2y2(){ note_ctor("G29x2y2", this);} // tgen
+
+static void Test_G29x2y2()
+{
+ extern Class_Descriptor cd_G29x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x2y2, buf);
+ G29x2y2 *dp, &lv = *(dp=new (buf) G29x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y2)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), 0, "G29x2y2");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(24,20), "G29x2y2");
+ check_base_class_offset(lv, (C29*)(E29x2*), 0, "G29x2y2");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(40,28), "G29x2y2");
+ check_base_class_offset(lv, (E29x2*), 0, "G29x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x2y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x2y2.ff");
+ test_class_info(&lv, &cd_G29x2y2);
+ dp->~G29x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y2(Test_G29x2y2, "G29x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y2C1Ev();
+extern void _ZN7G29x2y2D1Ev();
+Name_Map name_map_G29x2y2[] = {
+ NSPAIR(_ZN7G29x2y2C1Ev),
+ NSPAIR(_ZN7G29x2y2D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x2y2[] = {
+ // 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
+ 4, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, 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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x2y2[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y2[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y2[] = {
+ {&(_ZTV7G29x2y2[5]), 5,18},
+ {&(_tg__ZTV5E29x2__7G29x2y2[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y2[3]), 3,4},
+ {&(_ZTV7G29x2y2[9]), 9,18},
+ {&(_ZTV7G29x2y2[13]), 13,18},
+ {&(_ZTV7G29x2y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G29x2y2[];
+extern VTBL_ENTRY _ZTV7G29x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y2[];
+static VTBL_ENTRY alt_thunk_names173[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y2 = { "G29x2y2", // class name
+ bases_G29x2y2, 6,
+ &(vtc_G29x2y2[0]), // expected_vtbl_contents
+ &(vtt_G29x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y2),9, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names173,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y3 : virtual E29x2 , virtual F1 {
+ int ff;
+ ~G29x2y3(); // tgen
+ G29x2y3(); // tgen
+};
+//SIG(1 G29x2y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x2y3 ::~G29x2y3(){ note_dtor("G29x2y3", this);} // tgen
+G29x2y3 ::G29x2y3(){ note_ctor("G29x2y3", this);} // tgen
+
+static void Test_G29x2y3()
+{
+ extern Class_Descriptor cd_G29x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G29x2y3, buf);
+ G29x2y3 *dp, &lv = *(dp=new (buf) G29x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G29x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y3)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), ABISELECT(16,8), "G29x2y3");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(40,24), "G29x2y3");
+ check_base_class_offset(lv, (C29*)(E29x2*), ABISELECT(16,8), "G29x2y3");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(56,32), "G29x2y3");
+ check_base_class_offset(lv, (E29x2*), ABISELECT(16,8), "G29x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G29x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x2y3.ff");
+ test_class_info(&lv, &cd_G29x2y3);
+ dp->~G29x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y3(Test_G29x2y3, "G29x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y3C1Ev();
+extern void _ZN7G29x2y3D1Ev();
+Name_Map name_map_G29x2y3[] = {
+ NSPAIR(_ZN7G29x2y3C1Ev),
+ NSPAIR(_ZN7G29x2y3D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x2y3[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,24), //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_C29, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 20, //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 _ZTI7G29x2y3[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y3[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y3[] = {
+ {&(_ZTV7G29x2y3[6]), 6,24},
+ {&(_ZTV7G29x2y3[11]), 11,24},
+ {&(_ZTV7G29x2y3[15]), 15,24},
+ {&(_ZTV7G29x2y3[19]), 19,24},
+ {&(_ZTV7G29x2y3[23]), 23,24},
+ {&(_tg__ZTV5E29x2__7G29x2y3[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x2y3[];
+extern VTBL_ENTRY _ZTV7G29x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y3[];
+static VTBL_ENTRY alt_thunk_names174[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y3 = { "G29x2y3", // class name
+ bases_G29x2y3, 6,
+ &(vtc_G29x2y3[0]), // expected_vtbl_contents
+ &(vtt_G29x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G29x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y3),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names174,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y4 : E29x2 , F0 {
+ int ff;
+ ~G29x2y4(); // tgen
+ G29x2y4(); // tgen
+};
+//SIG(1 G29x2y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x2y4 ::~G29x2y4(){ note_dtor("G29x2y4", this);} // tgen
+G29x2y4 ::G29x2y4(){ note_ctor("G29x2y4", this);} // tgen
+
+static void Test_G29x2y4()
+{
+ extern Class_Descriptor cd_G29x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G29x2y4, buf);
+ G29x2y4 *dp, &lv = *(dp=new (buf) G29x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G29x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y4)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), 0, "G29x2y4");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(32,24), "G29x2y4");
+ check_base_class_offset(lv, (C29*)(E29x2*), 0, "G29x2y4");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(48,32), "G29x2y4");
+ check_base_class_offset(lv, (E29x2*), 0, "G29x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G29x2y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G29x2y4.ff");
+ test_class_info(&lv, &cd_G29x2y4);
+ dp->~G29x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y4(Test_G29x2y4, "G29x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y4C1Ev();
+extern void _ZN7G29x2y4D1Ev();
+Name_Map name_map_G29x2y4[] = {
+ NSPAIR(_ZN7G29x2y4C1Ev),
+ NSPAIR(_ZN7G29x2y4D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x2y4[] = {
+ // 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(32,24), //bcp->offset
+ 5, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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_F0, ABISELECT(20,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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x2y4[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y4[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y4[] = {
+ {&(_ZTV7G29x2y4[4]), 4,13},
+ {&(_tg__ZTV5E29x2__7G29x2y4[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y4[3]), 3,4},
+ {&(_ZTV7G29x2y4[8]), 8,13},
+ {&(_ZTV7G29x2y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G29x2y4[];
+extern VTBL_ENTRY _ZTV7G29x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y4[];
+static VTBL_ENTRY alt_thunk_names175[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y4 = { "G29x2y4", // class name
+ bases_G29x2y4, 6,
+ &(vtc_G29x2y4[0]), // expected_vtbl_contents
+ &(vtt_G29x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G29x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y4),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names175,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y5 : virtual E29x2 , F0 {
+ int ff;
+ ~G29x2y5(); // tgen
+ G29x2y5(); // tgen
+};
+//SIG(1 G29x2y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x2y5 ::~G29x2y5(){ note_dtor("G29x2y5", this);} // tgen
+G29x2y5 ::G29x2y5(){ note_ctor("G29x2y5", this);} // tgen
+
+static void Test_G29x2y5()
+{
+ extern Class_Descriptor cd_G29x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x2y5, buf);
+ G29x2y5 *dp, &lv = *(dp=new (buf) G29x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y5)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), ABISELECT(16,12), "G29x2y5");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(40,28), "G29x2y5");
+ check_base_class_offset(lv, (C29*)(E29x2*), ABISELECT(16,12), "G29x2y5");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(56,36), "G29x2y5");
+ check_base_class_offset(lv, (E29x2*), ABISELECT(16,12), "G29x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x2y5.ff");
+ test_class_info(&lv, &cd_G29x2y5);
+ dp->~G29x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y5(Test_G29x2y5, "G29x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y5C1Ev();
+extern void _ZN7G29x2y5D1Ev();
+Name_Map name_map_G29x2y5[] = {
+ NSPAIR(_ZN7G29x2y5C1Ev),
+ NSPAIR(_ZN7G29x2y5D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x2y5[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 11, //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_C29, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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
+ 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 _ZTI7G29x2y5[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y5[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y5[] = {
+ {&(_ZTV7G29x2y5[5]), 5,19},
+ {&(_ZTV7G29x2y5[10]), 10,19},
+ {&(_ZTV7G29x2y5[14]), 14,19},
+ {&(_ZTV7G29x2y5[18]), 18,19},
+ {&(_tg__ZTV5E29x2__7G29x2y5[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x2y5[];
+extern VTBL_ENTRY _ZTV7G29x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y5[];
+static VTBL_ENTRY alt_thunk_names176[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y5 = { "G29x2y5", // class name
+ bases_G29x2y5, 6,
+ &(vtc_G29x2y5[0]), // expected_vtbl_contents
+ &(vtt_G29x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y5),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names176,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y6 : E29x2 , virtual F0 {
+ int ff;
+ ~G29x2y6(); // tgen
+ G29x2y6(); // tgen
+};
+//SIG(1 G29x2y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x2y6 ::~G29x2y6(){ note_dtor("G29x2y6", this);} // tgen
+G29x2y6 ::G29x2y6(){ note_ctor("G29x2y6", this);} // tgen
+
+static void Test_G29x2y6()
+{
+ extern Class_Descriptor cd_G29x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x2y6, buf);
+ G29x2y6 *dp, &lv = *(dp=new (buf) G29x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y6)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), 0, "G29x2y6");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(24,20), "G29x2y6");
+ check_base_class_offset(lv, (C29*)(E29x2*), 0, "G29x2y6");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(40,28), "G29x2y6");
+ check_base_class_offset(lv, (E29x2*), 0, "G29x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G29x2y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x2y6.ff");
+ test_class_info(&lv, &cd_G29x2y6);
+ dp->~G29x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y6(Test_G29x2y6, "G29x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y6C1Ev();
+extern void _ZN7G29x2y6D1Ev();
+Name_Map name_map_G29x2y6[] = {
+ NSPAIR(_ZN7G29x2y6C1Ev),
+ NSPAIR(_ZN7G29x2y6D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x2y6[] = {
+ // 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(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, 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(40,28), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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_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 _ZTI7G29x2y6[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y6[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y6[] = {
+ {&(_ZTV7G29x2y6[5]), 5,14},
+ {&(_tg__ZTV5E29x2__7G29x2y6[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y6[3]), 3,4},
+ {&(_ZTV7G29x2y6[9]), 9,14},
+ {&(_ZTV7G29x2y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G29x2y6[];
+extern VTBL_ENTRY _ZTV7G29x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y6[];
+static VTBL_ENTRY alt_thunk_names177[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y6 = { "G29x2y6", // class name
+ bases_G29x2y6, 6,
+ &(vtc_G29x2y6[0]), // expected_vtbl_contents
+ &(vtt_G29x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y6),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names177,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x2y7 : virtual E29x2 , virtual F0 {
+ int ff;
+ ~G29x2y7(); // tgen
+ G29x2y7(); // tgen
+};
+//SIG(1 G29x2y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x2y7 ::~G29x2y7(){ note_dtor("G29x2y7", this);} // tgen
+G29x2y7 ::G29x2y7(){ note_ctor("G29x2y7", this);} // tgen
+
+static void Test_G29x2y7()
+{
+ extern Class_Descriptor cd_G29x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x2y7, buf);
+ G29x2y7 *dp, &lv = *(dp=new (buf) G29x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x2y7)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x2*), ABISELECT(16,8), "G29x2y7");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x2*), ABISELECT(40,24), "G29x2y7");
+ check_base_class_offset(lv, (C29*)(E29x2*), ABISELECT(16,8), "G29x2y7");
+ check_base_class_offset(lv, (D1*)(E29x2*), ABISELECT(56,32), "G29x2y7");
+ check_base_class_offset(lv, (E29x2*), ABISELECT(16,8), "G29x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G29x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x2y7.ff");
+ test_class_info(&lv, &cd_G29x2y7);
+ dp->~G29x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x2y7(Test_G29x2y7, "G29x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x2y7C1Ev();
+extern void _ZN7G29x2y7D1Ev();
+Name_Map name_map_G29x2y7[] = {
+ NSPAIR(_ZN7G29x2y7C1Ev),
+ NSPAIR(_ZN7G29x2y7D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x2;
+extern VTBL_ENTRY _ZTI5E29x2[];
+extern VTBL_ENTRY _ZTV5E29x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x2y7[] = {
+ // 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
+ 3, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,24), //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_C29, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x2, 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
+ 5, //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 _ZTI7G29x2y7[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x2y7[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x2__7G29x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x2__7G29x2y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x2__7G29x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x2__7G29x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x2__7G29x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G29x2y7[] = {
+ {&(_ZTV7G29x2y7[6]), 6,20},
+ {&(_ZTV7G29x2y7[11]), 11,20},
+ {&(_ZTV7G29x2y7[15]), 15,20},
+ {&(_ZTV7G29x2y7[19]), 19,20},
+ {&(_tg__ZTV5E29x2__7G29x2y7[4]), 4,5},
+ {&(_tg__ZTV3C295E29x2__7G29x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x2__7G29x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x2__7G29x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x2__7G29x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x2y7[];
+extern VTBL_ENTRY _ZTV7G29x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x2y7[];
+static VTBL_ENTRY alt_thunk_names178[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x2y7 = { "G29x2y7", // class name
+ bases_G29x2y7, 6,
+ &(vtc_G29x2y7[0]), // expected_vtbl_contents
+ &(vtt_G29x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x2y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x2y7),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names178,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x2 : C30 , virtual D1 {
+ int fd;
+ ~E30x2(); // tgen
+ E30x2(); // tgen
+};
+//SIG(-1 E30x2) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E30x2 ::~E30x2(){ note_dtor("E30x2", this);} // tgen
+E30x2 ::E30x2(){ note_ctor("E30x2", this);} // tgen
+
+static void Test_E30x2()
+{
+ extern Class_Descriptor cd_E30x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E30x2, buf);
+ E30x2 *dp, &lv = *(dp=new (buf) E30x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E30x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x2)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(16,12), "E30x2");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(24,16), "E30x2");
+ check_base_class_offset(lv, (C30*), 0, "E30x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E30x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E30x2.fd");
+ test_class_info(&lv, &cd_E30x2);
+ dp->~E30x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x2(Test_E30x2, "E30x2", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E30x2C1Ev();
+extern void _ZN5E30x2D1Ev();
+Name_Map name_map_E30x2[] = {
+ NSPAIR(_ZN5E30x2C1Ev),
+ NSPAIR(_ZN5E30x2D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E30x2[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(24,16), //bcp->offset
+ 6, //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_C30, 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(40,24), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E30x2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x2[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__5E30x2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x2[] = {
+ {&(_ZTV5E30x2[5]), 5,14},
+ {&(_tg__ZTV3C30__5E30x2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x2[3]), 3,4},
+ {&(_ZTV5E30x2[9]), 9,14},
+ {&(_ZTV5E30x2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+static VTBL_ENTRY alt_thunk_names179[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E30x2 = { "E30x2", // class name
+ bases_E30x2, 4,
+ &(vtc_E30x2[0]), // expected_vtbl_contents
+ &(vtt_E30x2[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E30x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x2),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names179,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y0 : E30x2 , F1 {
+ int ff;
+ ~G30x2y0(); // tgen
+ G30x2y0(); // tgen
+};
+//SIG(1 G30x2y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x2y0 ::~G30x2y0(){ note_dtor("G30x2y0", this);} // tgen
+G30x2y0 ::G30x2y0(){ note_ctor("G30x2y0", this);} // tgen
+
+static void Test_G30x2y0()
+{
+ extern Class_Descriptor cd_G30x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x2y0, buf);
+ G30x2y0 *dp, &lv = *(dp=new (buf) G30x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y0)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(32,24), "G30x2y0");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(40,28), "G30x2y0");
+ check_base_class_offset(lv, (C30*)(E30x2*), 0, "G30x2y0");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(56,36), "G30x2y0");
+ check_base_class_offset(lv, (E30x2*), 0, "G30x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G30x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G30x2y0.ff");
+ test_class_info(&lv, &cd_G30x2y0);
+ dp->~G30x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y0(Test_G30x2y0, "G30x2y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y0C1Ev();
+extern void _ZN7G30x2y0D1Ev();
+Name_Map name_map_G30x2y0[] = {
+ NSPAIR(_ZN7G30x2y0C1Ev),
+ NSPAIR(_ZN7G30x2y0D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x2y0[] = {
+ // 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, ABISELECT(40,28), //bcp->offset
+ 9, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, 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(56,36), //bcp->offset
+ 13, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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 _ZTI7G30x2y0[];
+extern void _ZN3C303fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y0[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y0[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y0[] = {
+ {&(_ZTV7G30x2y0[5]), 5,17},
+ {&(_tg__ZTV5E30x2__7G30x2y0[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y0[3]), 3,4},
+ {&(_ZTV7G30x2y0[12]), 12,17},
+ {&(_ZTV7G30x2y0[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G30x2y0[];
+extern VTBL_ENTRY _ZTV7G30x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y0[];
+static VTBL_ENTRY alt_thunk_names180[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y0 = { "G30x2y0", // class name
+ bases_G30x2y0, 6,
+ &(vtc_G30x2y0[0]), // expected_vtbl_contents
+ &(vtt_G30x2y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names180,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y1 : virtual E30x2 , F1 {
+ int ff;
+ ~G30x2y1(); // tgen
+ G30x2y1(); // tgen
+};
+//SIG(1 G30x2y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x2y1 ::~G30x2y1(){ note_dtor("G30x2y1", this);} // tgen
+G30x2y1 ::G30x2y1(){ note_ctor("G30x2y1", this);} // tgen
+
+static void Test_G30x2y1()
+{
+ extern Class_Descriptor cd_G30x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x2y1, buf);
+ G30x2y1 *dp, &lv = *(dp=new (buf) G30x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y1)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(32,24), "G30x2y1");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(40,28), "G30x2y1");
+ check_base_class_offset(lv, (C30*)(E30x2*), ABISELECT(16,12), "G30x2y1");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(56,36), "G30x2y1");
+ check_base_class_offset(lv, (E30x2*), ABISELECT(16,12), "G30x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x2y1.ff");
+ test_class_info(&lv, &cd_G30x2y1);
+ dp->~G30x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y1(Test_G30x2y1, "G30x2y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y1C1Ev();
+extern void _ZN7G30x2y1D1Ev();
+Name_Map name_map_G30x2y1[] = {
+ NSPAIR(_ZN7G30x2y1C1Ev),
+ NSPAIR(_ZN7G30x2y1D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x2y1[] = {
+ // 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, ABISELECT(40,28), //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_C30, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y1[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y1[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y1[] = {
+ {&(_ZTV7G30x2y1[6]), 6,22},
+ {&(_ZTV7G30x2y1[13]), 13,22},
+ {&(_ZTV7G30x2y1[17]), 17,22},
+ {&(_ZTV7G30x2y1[21]), 21,22},
+ {&(_tg__ZTV5E30x2__7G30x2y1[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x2y1[];
+extern VTBL_ENTRY _ZTV7G30x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y1[];
+static VTBL_ENTRY alt_thunk_names181[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y1 = { "G30x2y1", // class name
+ bases_G30x2y1, 6,
+ &(vtc_G30x2y1[0]), // expected_vtbl_contents
+ &(vtt_G30x2y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names181,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y2 : E30x2 , virtual F1 {
+ int ff;
+ ~G30x2y2(); // tgen
+ G30x2y2(); // tgen
+};
+//SIG(1 G30x2y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x2y2 ::~G30x2y2(){ note_dtor("G30x2y2", this);} // tgen
+G30x2y2 ::G30x2y2(){ note_ctor("G30x2y2", this);} // tgen
+
+static void Test_G30x2y2()
+{
+ extern Class_Descriptor cd_G30x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x2y2, buf);
+ G30x2y2 *dp, &lv = *(dp=new (buf) G30x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y2)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(20,16), "G30x2y2");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(24,20), "G30x2y2");
+ check_base_class_offset(lv, (C30*)(E30x2*), 0, "G30x2y2");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(40,28), "G30x2y2");
+ check_base_class_offset(lv, (E30x2*), 0, "G30x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x2y2.ff");
+ test_class_info(&lv, &cd_G30x2y2);
+ dp->~G30x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y2(Test_G30x2y2, "G30x2y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y2C1Ev();
+extern void _ZN7G30x2y2D1Ev();
+Name_Map name_map_G30x2y2[] = {
+ NSPAIR(_ZN7G30x2y2C1Ev),
+ NSPAIR(_ZN7G30x2y2D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 7, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x2y2[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x2y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y2[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y2[] = {
+ {&(_ZTV7G30x2y2[6]), 6,19},
+ {&(_tg__ZTV5E30x2__7G30x2y2[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y2[3]), 3,4},
+ {&(_ZTV7G30x2y2[10]), 10,19},
+ {&(_ZTV7G30x2y2[14]), 14,19},
+ {&(_ZTV7G30x2y2[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G30x2y2[];
+extern VTBL_ENTRY _ZTV7G30x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y2[];
+static VTBL_ENTRY alt_thunk_names182[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y2 = { "G30x2y2", // class name
+ bases_G30x2y2, 6,
+ &(vtc_G30x2y2[0]), // expected_vtbl_contents
+ &(vtt_G30x2y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names182,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y3 : virtual E30x2 , virtual F1 {
+ int ff;
+ ~G30x2y3(); // tgen
+ G30x2y3(); // tgen
+};
+//SIG(1 G30x2y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x2y3 ::~G30x2y3(){ note_dtor("G30x2y3", this);} // tgen
+G30x2y3 ::G30x2y3(){ note_ctor("G30x2y3", this);} // tgen
+
+static void Test_G30x2y3()
+{
+ extern Class_Descriptor cd_G30x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G30x2y3, buf);
+ G30x2y3 *dp, &lv = *(dp=new (buf) G30x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G30x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y3)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(32,20), "G30x2y3");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(40,24), "G30x2y3");
+ check_base_class_offset(lv, (C30*)(E30x2*), ABISELECT(16,8), "G30x2y3");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(56,32), "G30x2y3");
+ check_base_class_offset(lv, (E30x2*), ABISELECT(16,8), "G30x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G30x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x2y3.ff");
+ test_class_info(&lv, &cd_G30x2y3);
+ dp->~G30x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y3(Test_G30x2y3, "G30x2y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y3C1Ev();
+extern void _ZN7G30x2y3D1Ev();
+Name_Map name_map_G30x2y3[] = {
+ NSPAIR(_ZN7G30x2y3C1Ev),
+ NSPAIR(_ZN7G30x2y3D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x2y3[] = {
+ // 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
+ 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_C30, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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
+ 22, //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 _ZTI7G30x2y3[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x2y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y3[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y3[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y3[] = {
+ {&(_ZTV7G30x2y3[7]), 7,26},
+ {&(_ZTV7G30x2y3[13]), 13,26},
+ {&(_ZTV7G30x2y3[17]), 17,26},
+ {&(_ZTV7G30x2y3[21]), 21,26},
+ {&(_ZTV7G30x2y3[25]), 25,26},
+ {&(_tg__ZTV5E30x2__7G30x2y3[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x2y3[];
+extern VTBL_ENTRY _ZTV7G30x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y3[];
+static VTBL_ENTRY alt_thunk_names183[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y3 = { "G30x2y3", // class name
+ bases_G30x2y3, 6,
+ &(vtc_G30x2y3[0]), // expected_vtbl_contents
+ &(vtt_G30x2y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G30x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names183,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y4 : E30x2 , F0 {
+ int ff;
+ ~G30x2y4(); // tgen
+ G30x2y4(); // tgen
+};
+//SIG(1 G30x2y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x2y4 ::~G30x2y4(){ note_dtor("G30x2y4", this);} // tgen
+G30x2y4 ::G30x2y4(){ note_ctor("G30x2y4", this);} // tgen
+
+static void Test_G30x2y4()
+{
+ extern Class_Descriptor cd_G30x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G30x2y4, buf);
+ G30x2y4 *dp, &lv = *(dp=new (buf) G30x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G30x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y4)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(24,20), "G30x2y4");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(32,24), "G30x2y4");
+ check_base_class_offset(lv, (C30*)(E30x2*), 0, "G30x2y4");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(48,32), "G30x2y4");
+ check_base_class_offset(lv, (E30x2*), 0, "G30x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G30x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x2y4.ff");
+ test_class_info(&lv, &cd_G30x2y4);
+ dp->~G30x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y4(Test_G30x2y4, "G30x2y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y4C1Ev();
+extern void _ZN7G30x2y4D1Ev();
+Name_Map name_map_G30x2y4[] = {
+ NSPAIR(_ZN7G30x2y4C1Ev),
+ NSPAIR(_ZN7G30x2y4D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(24,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(32,24), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, 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(48,32), //bcp->offset
+ 10, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x2y4[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y4[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y4[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y4[] = {
+ {&(_ZTV7G30x2y4[5]), 5,14},
+ {&(_tg__ZTV5E30x2__7G30x2y4[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y4[3]), 3,4},
+ {&(_ZTV7G30x2y4[9]), 9,14},
+ {&(_ZTV7G30x2y4[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G30x2y4[];
+extern VTBL_ENTRY _ZTV7G30x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y4[];
+static VTBL_ENTRY alt_thunk_names184[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y4 = { "G30x2y4", // class name
+ bases_G30x2y4, 6,
+ &(vtc_G30x2y4[0]), // expected_vtbl_contents
+ &(vtt_G30x2y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G30x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names184,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y5 : virtual E30x2 , F0 {
+ int ff;
+ ~G30x2y5(); // tgen
+ G30x2y5(); // tgen
+};
+//SIG(1 G30x2y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x2y5 ::~G30x2y5(){ note_dtor("G30x2y5", this);} // tgen
+G30x2y5 ::G30x2y5(){ note_ctor("G30x2y5", this);} // tgen
+
+static void Test_G30x2y5()
+{
+ extern Class_Descriptor cd_G30x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x2y5, buf);
+ G30x2y5 *dp, &lv = *(dp=new (buf) G30x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y5)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(32,24), "G30x2y5");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(40,28), "G30x2y5");
+ check_base_class_offset(lv, (C30*)(E30x2*), ABISELECT(16,12), "G30x2y5");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(56,36), "G30x2y5");
+ check_base_class_offset(lv, (E30x2*), ABISELECT(16,12), "G30x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x2y5.ff");
+ test_class_info(&lv, &cd_G30x2y5);
+ dp->~G30x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y5(Test_G30x2y5, "G30x2y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y5C1Ev();
+extern void _ZN7G30x2y5D1Ev();
+Name_Map name_map_G30x2y5[] = {
+ NSPAIR(_ZN7G30x2y5C1Ev),
+ NSPAIR(_ZN7G30x2y5D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x2y5[] = {
+ // 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, ABISELECT(40,28), //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_C30, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x2y5[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y5[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y5[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y5[] = {
+ {&(_ZTV7G30x2y5[6]), 6,21},
+ {&(_ZTV7G30x2y5[12]), 12,21},
+ {&(_ZTV7G30x2y5[16]), 16,21},
+ {&(_ZTV7G30x2y5[20]), 20,21},
+ {&(_tg__ZTV5E30x2__7G30x2y5[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x2y5[];
+extern VTBL_ENTRY _ZTV7G30x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y5[];
+static VTBL_ENTRY alt_thunk_names185[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y5 = { "G30x2y5", // class name
+ bases_G30x2y5, 6,
+ &(vtc_G30x2y5[0]), // expected_vtbl_contents
+ &(vtt_G30x2y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names185,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y6 : E30x2 , virtual F0 {
+ int ff;
+ ~G30x2y6(); // tgen
+ G30x2y6(); // tgen
+};
+//SIG(1 G30x2y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x2y6 ::~G30x2y6(){ note_dtor("G30x2y6", this);} // tgen
+G30x2y6 ::G30x2y6(){ note_ctor("G30x2y6", this);} // tgen
+
+static void Test_G30x2y6()
+{
+ extern Class_Descriptor cd_G30x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x2y6, buf);
+ G30x2y6 *dp, &lv = *(dp=new (buf) G30x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y6)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(20,16), "G30x2y6");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(24,20), "G30x2y6");
+ check_base_class_offset(lv, (C30*)(E30x2*), 0, "G30x2y6");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(40,28), "G30x2y6");
+ check_base_class_offset(lv, (E30x2*), 0, "G30x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G30x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x2y6.ff");
+ test_class_info(&lv, &cd_G30x2y6);
+ dp->~G30x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y6(Test_G30x2y6, "G30x2y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y6C1Ev();
+extern void _ZN7G30x2y6D1Ev();
+Name_Map name_map_G30x2y6[] = {
+ NSPAIR(_ZN7G30x2y6C1Ev),
+ NSPAIR(_ZN7G30x2y6D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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, 1},
+ {&cd_B1, ABISELECT(24,20), //bcp->offset
+ 7, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, 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(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G30x2y6[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y6[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y6[] = {
+ {&(_ZTV7G30x2y6[6]), 6,15},
+ {&(_tg__ZTV5E30x2__7G30x2y6[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y6[3]), 3,4},
+ {&(_ZTV7G30x2y6[10]), 10,15},
+ {&(_ZTV7G30x2y6[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G30x2y6[];
+extern VTBL_ENTRY _ZTV7G30x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y6[];
+static VTBL_ENTRY alt_thunk_names186[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y6 = { "G30x2y6", // class name
+ bases_G30x2y6, 6,
+ &(vtc_G30x2y6[0]), // expected_vtbl_contents
+ &(vtt_G30x2y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names186,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x2y7 : virtual E30x2 , virtual F0 {
+ int ff;
+ ~G30x2y7(); // tgen
+ G30x2y7(); // tgen
+};
+//SIG(1 G30x2y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x2y7 ::~G30x2y7(){ note_dtor("G30x2y7", this);} // tgen
+G30x2y7 ::G30x2y7(){ note_ctor("G30x2y7", this);} // tgen
+
+static void Test_G30x2y7()
+{
+ extern Class_Descriptor cd_G30x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x2y7, buf);
+ G30x2y7 *dp, &lv = *(dp=new (buf) G30x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x2y7)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x2*), ABISELECT(32,20), "G30x2y7");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x2*), ABISELECT(40,24), "G30x2y7");
+ check_base_class_offset(lv, (C30*)(E30x2*), ABISELECT(16,8), "G30x2y7");
+ check_base_class_offset(lv, (D1*)(E30x2*), ABISELECT(56,32), "G30x2y7");
+ check_base_class_offset(lv, (E30x2*), ABISELECT(16,8), "G30x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G30x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x2y7.ff");
+ test_class_info(&lv, &cd_G30x2y7);
+ dp->~G30x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x2y7(Test_G30x2y7, "G30x2y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x2y7C1Ev();
+extern void _ZN7G30x2y7D1Ev();
+Name_Map name_map_G30x2y7[] = {
+ NSPAIR(_ZN7G30x2y7C1Ev),
+ NSPAIR(_ZN7G30x2y7D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x2;
+extern VTBL_ENTRY _ZTI5E30x2[];
+extern VTBL_ENTRY _ZTV5E30x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x2y7[] = {
+ // 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
+ 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_C30, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G30x2y7[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x2y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x2y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x2y7[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x2__7G30x2y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x2__7G30x2y7[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x2__7G30x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x2__7G30x2y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x2__7G30x2y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G30x2y7[] = {
+ {&(_ZTV7G30x2y7[7]), 7,22},
+ {&(_ZTV7G30x2y7[13]), 13,22},
+ {&(_ZTV7G30x2y7[17]), 17,22},
+ {&(_ZTV7G30x2y7[21]), 21,22},
+ {&(_tg__ZTV5E30x2__7G30x2y7[5]), 5,6},
+ {&(_tg__ZTV3C305E30x2__7G30x2y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x2__7G30x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x2__7G30x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x2__7G30x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x2y7[];
+extern VTBL_ENTRY _ZTV7G30x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x2y7[];
+static VTBL_ENTRY alt_thunk_names187[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x2y7 = { "G30x2y7", // class name
+ bases_G30x2y7, 6,
+ &(vtc_G30x2y7[0]), // expected_vtbl_contents
+ &(vtt_G30x2y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x2y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x2y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names187,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x2 : C31 , virtual D1 {
+ int fd;
+ ~E31x2(); // tgen
+ E31x2(); // tgen
+};
+//SIG(-1 E31x2) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E31x2 ::~E31x2(){ note_dtor("E31x2", this);} // tgen
+E31x2 ::E31x2(){ note_ctor("E31x2", this);} // tgen
+
+static void Test_E31x2()
+{
+ extern Class_Descriptor cd_E31x2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E31x2, buf);
+ E31x2 *dp, &lv = *(dp=new (buf) E31x2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E31x2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x2)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(16,12), "E31x2");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(32,20), "E31x2");
+ check_base_class_offset(lv, (C31*), 0, "E31x2");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E31x2");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E31x2.fd");
+ test_class_info(&lv, &cd_E31x2);
+ dp->~E31x2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x2(Test_E31x2, "E31x2", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E31x2C1Ev();
+extern void _ZN5E31x2D1Ev();
+Name_Map name_map_E31x2[] = {
+ NSPAIR(_ZN5E31x2C1Ev),
+ NSPAIR(_ZN5E31x2D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E31x2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 6, //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(32,20), //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, 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_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E31x2[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x2[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__5E31x2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__5E31x2[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x2[] = {
+ {&(_ZTV5E31x2[5]), 5,18},
+ {&(_tg__ZTV3C31__5E31x2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x2[3]), 3,4},
+ {&(_ZTV5E31x2[9]), 9,18},
+ {&(_ZTV5E31x2[13]), 13,18},
+ {&(_ZTV5E31x2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+static VTBL_ENTRY alt_thunk_names188[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E31x2 = { "E31x2", // class name
+ bases_E31x2, 4,
+ &(vtc_E31x2[0]), // expected_vtbl_contents
+ &(vtt_E31x2[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E31x2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names188,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y0 : E31x2 , F1 {
+ int ff;
+ ~G31x2y0(); // tgen
+ G31x2y0(); // tgen
+};
+//SIG(1 G31x2y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x2y0 ::~G31x2y0(){ note_dtor("G31x2y0", this);} // tgen
+G31x2y0 ::G31x2y0(){ note_ctor("G31x2y0", this);} // tgen
+
+static void Test_G31x2y0()
+{
+ extern Class_Descriptor cd_G31x2y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x2y0, buf);
+ G31x2y0 *dp, &lv = *(dp=new (buf) G31x2y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x2y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y0)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(32,24), "G31x2y0");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(48,32), "G31x2y0");
+ check_base_class_offset(lv, (C31*)(E31x2*), 0, "G31x2y0");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(64,40), "G31x2y0");
+ check_base_class_offset(lv, (E31x2*), 0, "G31x2y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G31x2y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G31x2y0.ff");
+ test_class_info(&lv, &cd_G31x2y0);
+ dp->~G31x2y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y0(Test_G31x2y0, "G31x2y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y0C1Ev();
+extern void _ZN7G31x2y0D1Ev();
+Name_Map name_map_G31x2y0[] = {
+ NSPAIR(_ZN7G31x2y0C1Ev),
+ NSPAIR(_ZN7G31x2y0D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x2y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(16,12), //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x2y0[];
+extern void _ZN3C313fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x2y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x2y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x2y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y0[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y0[] = {
+ {&(_ZTV7G31x2y0[5]), 5,21},
+ {&(_tg__ZTV5E31x2__7G31x2y0[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y0[3]), 3,4},
+ {&(_ZTV7G31x2y0[12]), 12,21},
+ {&(_ZTV7G31x2y0[16]), 16,21},
+ {&(_ZTV7G31x2y0[20]), 20,21},
+};
+extern VTBL_ENTRY _ZTI7G31x2y0[];
+extern VTBL_ENTRY _ZTV7G31x2y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y0[];
+static VTBL_ENTRY alt_thunk_names189[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn48_N3C313fooEv,_ZThn32_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn24_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y0 = { "G31x2y0", // class name
+ bases_G31x2y0, 6,
+ &(vtc_G31x2y0[0]), // expected_vtbl_contents
+ &(vtt_G31x2y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x2y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y0),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names189,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y1 : virtual E31x2 , F1 {
+ int ff;
+ ~G31x2y1(); // tgen
+ G31x2y1(); // tgen
+};
+//SIG(1 G31x2y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x2y1 ::~G31x2y1(){ note_dtor("G31x2y1", this);} // tgen
+G31x2y1 ::G31x2y1(){ note_ctor("G31x2y1", this);} // tgen
+
+static void Test_G31x2y1()
+{
+ extern Class_Descriptor cd_G31x2y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x2y1, buf);
+ G31x2y1 *dp, &lv = *(dp=new (buf) G31x2y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x2y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y1)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(32,24), "G31x2y1");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(48,32), "G31x2y1");
+ check_base_class_offset(lv, (C31*)(E31x2*), ABISELECT(16,12), "G31x2y1");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(64,40), "G31x2y1");
+ check_base_class_offset(lv, (E31x2*), ABISELECT(16,12), "G31x2y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x2y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x2y1.ff");
+ test_class_info(&lv, &cd_G31x2y1);
+ dp->~G31x2y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y1(Test_G31x2y1, "G31x2y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y1C1Ev();
+extern void _ZN7G31x2y1D1Ev();
+Name_Map name_map_G31x2y1[] = {
+ NSPAIR(_ZN7G31x2y1C1Ev),
+ NSPAIR(_ZN7G31x2y1D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x2y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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_B1, ABISELECT(48,32), //bcp->offset
+ 18, //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_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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 _ZTI7G31x2y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x2y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x2y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x2y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y1[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y1[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y1[] = {
+ {&(_ZTV7G31x2y1[6]), 6,26},
+ {&(_ZTV7G31x2y1[13]), 13,26},
+ {&(_ZTV7G31x2y1[17]), 17,26},
+ {&(_ZTV7G31x2y1[21]), 21,26},
+ {&(_ZTV7G31x2y1[25]), 25,26},
+ {&(_tg__ZTV5E31x2__7G31x2y1[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x2y1[];
+extern VTBL_ENTRY _ZTV7G31x2y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y1[];
+static VTBL_ENTRY alt_thunk_names190[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y1 = { "G31x2y1", // class name
+ bases_G31x2y1, 6,
+ &(vtc_G31x2y1[0]), // expected_vtbl_contents
+ &(vtt_G31x2y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x2y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y1),26, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y1),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names190,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y2 : E31x2 , virtual F1 {
+ int ff;
+ ~G31x2y2(); // tgen
+ G31x2y2(); // tgen
+};
+//SIG(1 G31x2y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x2y2 ::~G31x2y2(){ note_dtor("G31x2y2", this);} // tgen
+G31x2y2 ::G31x2y2(){ note_ctor("G31x2y2", this);} // tgen
+
+static void Test_G31x2y2()
+{
+ extern Class_Descriptor cd_G31x2y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x2y2, buf);
+ G31x2y2 *dp, &lv = *(dp=new (buf) G31x2y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x2y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y2)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(24,16), "G31x2y2");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(40,24), "G31x2y2");
+ check_base_class_offset(lv, (C31*)(E31x2*), 0, "G31x2y2");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(56,32), "G31x2y2");
+ check_base_class_offset(lv, (E31x2*), 0, "G31x2y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G31x2y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x2y2.ff");
+ test_class_info(&lv, &cd_G31x2y2);
+ dp->~G31x2y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y2(Test_G31x2y2, "G31x2y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y2C1Ev();
+extern void _ZN7G31x2y2D1Ev();
+Name_Map name_map_G31x2y2[] = {
+ NSPAIR(_ZN7G31x2y2C1Ev),
+ NSPAIR(_ZN7G31x2y2D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x2y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 7, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, 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
+ 5, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(72,40), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 12, //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 _ZTI7G31x2y2[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x2y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x2y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x2y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x2y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y2[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y2[] = {
+ {&(_ZTV7G31x2y2[6]), 6,23},
+ {&(_tg__ZTV5E31x2__7G31x2y2[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y2[3]), 3,4},
+ {&(_ZTV7G31x2y2[10]), 10,23},
+ {&(_ZTV7G31x2y2[14]), 14,23},
+ {&(_ZTV7G31x2y2[18]), 18,23},
+ {&(_ZTV7G31x2y2[22]), 22,23},
+};
+extern VTBL_ENTRY _ZTI7G31x2y2[];
+extern VTBL_ENTRY _ZTV7G31x2y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y2[];
+static VTBL_ENTRY alt_thunk_names191[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y2 = { "G31x2y2", // class name
+ bases_G31x2y2, 6,
+ &(vtc_G31x2y2[0]), // expected_vtbl_contents
+ &(vtt_G31x2y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x2y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y2),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names191,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y3 : virtual E31x2 , virtual F1 {
+ int ff;
+ ~G31x2y3(); // tgen
+ G31x2y3(); // tgen
+};
+//SIG(1 G31x2y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x2y3 ::~G31x2y3(){ note_dtor("G31x2y3", this);} // tgen
+G31x2y3 ::G31x2y3(){ note_ctor("G31x2y3", this);} // tgen
+
+static void Test_G31x2y3()
+{
+ extern Class_Descriptor cd_G31x2y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x2y3, buf);
+ G31x2y3 *dp, &lv = *(dp=new (buf) G31x2y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x2y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y3)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(32,20), "G31x2y3");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(48,28), "G31x2y3");
+ check_base_class_offset(lv, (C31*)(E31x2*), ABISELECT(16,8), "G31x2y3");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(64,36), "G31x2y3");
+ check_base_class_offset(lv, (E31x2*), ABISELECT(16,8), "G31x2y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x2y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x2y3.ff");
+ test_class_info(&lv, &cd_G31x2y3);
+ dp->~G31x2y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y3(Test_G31x2y3, "G31x2y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y3C1Ev();
+extern void _ZN7G31x2y3D1Ev();
+Name_Map name_map_G31x2y3[] = {
+ NSPAIR(_ZN7G31x2y3C1Ev),
+ NSPAIR(_ZN7G31x2y3D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x2y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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_B1, ABISELECT(48,28), //bcp->offset
+ 18, //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_C31, 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 26, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x2y3[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x2y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x2y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y3[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y3[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y3[] = {
+ {&(_ZTV7G31x2y3[7]), 7,30},
+ {&(_ZTV7G31x2y3[13]), 13,30},
+ {&(_ZTV7G31x2y3[17]), 17,30},
+ {&(_ZTV7G31x2y3[21]), 21,30},
+ {&(_ZTV7G31x2y3[25]), 25,30},
+ {&(_ZTV7G31x2y3[29]), 29,30},
+ {&(_tg__ZTV5E31x2__7G31x2y3[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x2y3[];
+extern VTBL_ENTRY _ZTV7G31x2y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y3[];
+static VTBL_ENTRY alt_thunk_names192[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y3 = { "G31x2y3", // class name
+ bases_G31x2y3, 6,
+ &(vtc_G31x2y3[0]), // expected_vtbl_contents
+ &(vtt_G31x2y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x2y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y3),30, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y3),13, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names192,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y4 : E31x2 , F0 {
+ int ff;
+ ~G31x2y4(); // tgen
+ G31x2y4(); // tgen
+};
+//SIG(1 G31x2y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x2y4 ::~G31x2y4(){ note_dtor("G31x2y4", this);} // tgen
+G31x2y4 ::G31x2y4(){ note_ctor("G31x2y4", this);} // tgen
+
+static void Test_G31x2y4()
+{
+ extern Class_Descriptor cd_G31x2y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x2y4, buf);
+ G31x2y4 *dp, &lv = *(dp=new (buf) G31x2y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x2y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y4)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(24,20), "G31x2y4");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(40,28), "G31x2y4");
+ check_base_class_offset(lv, (C31*)(E31x2*), 0, "G31x2y4");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(56,36), "G31x2y4");
+ check_base_class_offset(lv, (E31x2*), 0, "G31x2y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G31x2y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x2y4.ff");
+ test_class_info(&lv, &cd_G31x2y4);
+ dp->~G31x2y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y4(Test_G31x2y4, "G31x2y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y4C1Ev();
+extern void _ZN7G31x2y4D1Ev();
+Name_Map name_map_G31x2y4[] = {
+ NSPAIR(_ZN7G31x2y4C1Ev),
+ NSPAIR(_ZN7G31x2y4D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x2y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x2y4[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x2y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x2y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y4[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y4[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y4[] = {
+ {&(_ZTV7G31x2y4[5]), 5,18},
+ {&(_tg__ZTV5E31x2__7G31x2y4[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y4[3]), 3,4},
+ {&(_ZTV7G31x2y4[9]), 9,18},
+ {&(_ZTV7G31x2y4[13]), 13,18},
+ {&(_ZTV7G31x2y4[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G31x2y4[];
+extern VTBL_ENTRY _ZTV7G31x2y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y4[];
+static VTBL_ENTRY alt_thunk_names193[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn28_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn20_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y4 = { "G31x2y4", // class name
+ bases_G31x2y4, 6,
+ &(vtc_G31x2y4[0]), // expected_vtbl_contents
+ &(vtt_G31x2y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x2y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y4),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names193,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y5 : virtual E31x2 , F0 {
+ int ff;
+ ~G31x2y5(); // tgen
+ G31x2y5(); // tgen
+};
+//SIG(1 G31x2y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x2y5 ::~G31x2y5(){ note_dtor("G31x2y5", this);} // tgen
+G31x2y5 ::G31x2y5(){ note_ctor("G31x2y5", this);} // tgen
+
+static void Test_G31x2y5()
+{
+ extern Class_Descriptor cd_G31x2y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x2y5, buf);
+ G31x2y5 *dp, &lv = *(dp=new (buf) G31x2y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x2y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y5)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(32,24), "G31x2y5");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(48,32), "G31x2y5");
+ check_base_class_offset(lv, (C31*)(E31x2*), ABISELECT(16,12), "G31x2y5");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(64,40), "G31x2y5");
+ check_base_class_offset(lv, (E31x2*), ABISELECT(16,12), "G31x2y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x2y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x2y5.ff");
+ test_class_info(&lv, &cd_G31x2y5);
+ dp->~G31x2y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y5(Test_G31x2y5, "G31x2y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y5C1Ev();
+extern void _ZN7G31x2y5D1Ev();
+Name_Map name_map_G31x2y5[] = {
+ NSPAIR(_ZN7G31x2y5C1Ev),
+ NSPAIR(_ZN7G31x2y5D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x2y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //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(48,32), //bcp->offset
+ 17, //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_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G31x2y5[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y5[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x2y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x2y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x2y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y5[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y5[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y5[] = {
+ {&(_ZTV7G31x2y5[6]), 6,25},
+ {&(_ZTV7G31x2y5[12]), 12,25},
+ {&(_ZTV7G31x2y5[16]), 16,25},
+ {&(_ZTV7G31x2y5[20]), 20,25},
+ {&(_ZTV7G31x2y5[24]), 24,25},
+ {&(_tg__ZTV5E31x2__7G31x2y5[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x2y5[];
+extern VTBL_ENTRY _ZTV7G31x2y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y5[];
+static VTBL_ENTRY alt_thunk_names194[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y5 = { "G31x2y5", // class name
+ bases_G31x2y5, 6,
+ &(vtc_G31x2y5[0]), // expected_vtbl_contents
+ &(vtt_G31x2y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x2y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y5),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y5),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names194,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y6 : E31x2 , virtual F0 {
+ int ff;
+ ~G31x2y6(); // tgen
+ G31x2y6(); // tgen
+};
+//SIG(1 G31x2y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x2y6 ::~G31x2y6(){ note_dtor("G31x2y6", this);} // tgen
+G31x2y6 ::G31x2y6(){ note_ctor("G31x2y6", this);} // tgen
+
+static void Test_G31x2y6()
+{
+ extern Class_Descriptor cd_G31x2y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x2y6, buf);
+ G31x2y6 *dp, &lv = *(dp=new (buf) G31x2y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x2y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y6)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(24,16), "G31x2y6");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(40,24), "G31x2y6");
+ check_base_class_offset(lv, (C31*)(E31x2*), 0, "G31x2y6");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(56,32), "G31x2y6");
+ check_base_class_offset(lv, (E31x2*), 0, "G31x2y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G31x2y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x2y6.ff");
+ test_class_info(&lv, &cd_G31x2y6);
+ dp->~G31x2y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y6(Test_G31x2y6, "G31x2y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y6C1Ev();
+extern void _ZN7G31x2y6D1Ev();
+Name_Map name_map_G31x2y6[] = {
+ NSPAIR(_ZN7G31x2y6C1Ev),
+ NSPAIR(_ZN7G31x2y6D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x2y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 7, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(40,24), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 15, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G31x2y6[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x2y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x2y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y6[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y6[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y6[] = {
+ {&(_ZTV7G31x2y6[6]), 6,19},
+ {&(_tg__ZTV5E31x2__7G31x2y6[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y6[3]), 3,4},
+ {&(_ZTV7G31x2y6[10]), 10,19},
+ {&(_ZTV7G31x2y6[14]), 14,19},
+ {&(_ZTV7G31x2y6[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G31x2y6[];
+extern VTBL_ENTRY _ZTV7G31x2y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y6[];
+static VTBL_ENTRY alt_thunk_names195[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn40_N3C313fooEv,_ZThn24_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C313fooEv,_ZThn16_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y6 = { "G31x2y6", // class name
+ bases_G31x2y6, 6,
+ &(vtc_G31x2y6[0]), // expected_vtbl_contents
+ &(vtt_G31x2y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x2y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y6),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names195,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x2y7 : virtual E31x2 , virtual F0 {
+ int ff;
+ ~G31x2y7(); // tgen
+ G31x2y7(); // tgen
+};
+//SIG(1 G31x2y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x2y7 ::~G31x2y7(){ note_dtor("G31x2y7", this);} // tgen
+G31x2y7 ::G31x2y7(){ note_ctor("G31x2y7", this);} // tgen
+
+static void Test_G31x2y7()
+{
+ extern Class_Descriptor cd_G31x2y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x2y7, buf);
+ G31x2y7 *dp, &lv = *(dp=new (buf) G31x2y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x2y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x2y7)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x2*), ABISELECT(32,20), "G31x2y7");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x2*), ABISELECT(48,28), "G31x2y7");
+ check_base_class_offset(lv, (C31*)(E31x2*), ABISELECT(16,8), "G31x2y7");
+ check_base_class_offset(lv, (D1*)(E31x2*), ABISELECT(64,36), "G31x2y7");
+ check_base_class_offset(lv, (E31x2*), ABISELECT(16,8), "G31x2y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G31x2y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x2y7.ff");
+ test_class_info(&lv, &cd_G31x2y7);
+ dp->~G31x2y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x2y7(Test_G31x2y7, "G31x2y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x2y7C1Ev();
+extern void _ZN7G31x2y7D1Ev();
+Name_Map name_map_G31x2y7[] = {
+ NSPAIR(_ZN7G31x2y7C1Ev),
+ NSPAIR(_ZN7G31x2y7D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x2;
+extern VTBL_ENTRY _ZTI5E31x2[];
+extern VTBL_ENTRY _ZTV5E31x2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x2[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x2y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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_B1, ABISELECT(48,28), //bcp->offset
+ 18, //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_C31, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x2, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G31x2y7[];
+extern void _ZN3C313fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x2y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x2y7[0]),
+ 0,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x2y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x2y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x2y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x2y7[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x2__7G31x2y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x2__7G31x2y7[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C315E31x2__7G31x2y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C315E31x2__7G31x2y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x2__7G31x2y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x2__7G31x2y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x2__7G31x2y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G31x2y7[] = {
+ {&(_ZTV7G31x2y7[7]), 7,26},
+ {&(_ZTV7G31x2y7[13]), 13,26},
+ {&(_ZTV7G31x2y7[17]), 17,26},
+ {&(_ZTV7G31x2y7[21]), 21,26},
+ {&(_ZTV7G31x2y7[25]), 25,26},
+ {&(_tg__ZTV5E31x2__7G31x2y7[5]), 5,6},
+ {&(_tg__ZTV3C315E31x2__7G31x2y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x2__7G31x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x2__7G31x2y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x2__7G31x2y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x2__7G31x2y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x2__7G31x2y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x2y7[];
+extern VTBL_ENTRY _ZTV7G31x2y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x2y7[];
+static VTBL_ENTRY alt_thunk_names196[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn20_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn12_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x2y7 = { "G31x2y7", // class name
+ bases_G31x2y7, 6,
+ &(vtc_G31x2y7[0]), // expected_vtbl_contents
+ &(vtt_G31x2y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x2y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x2y7),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x2y7),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names196,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x3 : virtual C0 , virtual D1 {
+ int fd;
+ ~E0x3(); // tgen
+ E0x3(); // tgen
+};
+//SIG(-1 E0x3) C1{ VBC2{ BC3{ Fi} BC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E0x3 ::~E0x3(){ note_dtor("E0x3", this);} // tgen
+E0x3 ::E0x3(){ note_ctor("E0x3", this);} // tgen
+
+static void Test_E0x3()
+{
+ extern Class_Descriptor cd_E0x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E0x3, buf);
+ E0x3 *dp, &lv = *(dp=new (buf) E0x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E0x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x3)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(12,8), "E0x3");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(16,12), "E0x3");
+ check_base_class_offset(lv, (C0*), ABISELECT(12,8), "E0x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(24,20), "E0x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E0x3.fd");
+ test_class_info(&lv, &cd_E0x3);
+ dp->~E0x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x3(Test_E0x3, "E0x3", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E0x3C1Ev();
+extern void _ZN4E0x3D1Ev();
+Name_Map name_map_E0x3[] = {
+ NSPAIR(_ZN4E0x3C1Ev),
+ NSPAIR(_ZN4E0x3D1Ev),
+ {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_E0x3[] = {
+ // 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, 1},
+ {&cd_D1, ABISELECT(24,20), //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 _ZTI4E0x3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E0x3[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E0x3[];
+static VTT_ENTRY vtt_E0x3[] = {
+ {&(_ZTV4E0x3[4]), 4,8},
+ {&(_ZTV4E0x3[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+Class_Descriptor cd_E0x3 = { "E0x3", // class name
+ bases_E0x3, 4,
+ &(vtc_E0x3[0]), // expected_vtbl_contents
+ &(vtt_E0x3[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E0x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x3),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x3),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 G0x3y0 : E0x3 , F1 {
+ int ff;
+ ~G0x3y0(); // tgen
+ G0x3y0(); // tgen
+};
+//SIG(1 G0x3y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x3y0 ::~G0x3y0(){ note_dtor("G0x3y0", this);} // tgen
+G0x3y0 ::G0x3y0(){ note_ctor("G0x3y0", this);} // tgen
+
+static void Test_G0x3y0()
+{
+ extern Class_Descriptor cd_G0x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x3y0, buf);
+ G0x3y0 *dp, &lv = *(dp=new (buf) G0x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y0)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x3y0");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x3y0");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(32,20), "G0x3y0");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(48,32), "G0x3y0");
+ check_base_class_offset(lv, (E0x3*), 0, "G0x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G0x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G0x3y0.ff");
+ test_class_info(&lv, &cd_G0x3y0);
+ dp->~G0x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y0(Test_G0x3y0, "G0x3y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y0C1Ev();
+extern void _ZN6G0x3y0D1Ev();
+Name_Map name_map_G0x3y0[] = {
+ NSPAIR(_ZN6G0x3y0C1Ev),
+ NSPAIR(_ZN6G0x3y0D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x3y0[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, 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_F1, 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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y0[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y0[] = {
+ {&(_ZTV6G0x3y0[4]), 4,11},
+ {&(_tg__ZTV4E0x3__6G0x3y0[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y0[3]), 3,4},
+ {&(_ZTV6G0x3y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G0x3y0[];
+extern VTBL_ENTRY _ZTV6G0x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y0[];
+Class_Descriptor cd_G0x3y0 = { "G0x3y0", // class name
+ bases_G0x3y0, 6,
+ &(vtc_G0x3y0[0]), // expected_vtbl_contents
+ &(vtt_G0x3y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y0),4, //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 G0x3y1 : virtual E0x3 , F1 {
+ int ff;
+ ~G0x3y1(); // tgen
+ G0x3y1(); // tgen
+};
+//SIG(1 G0x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G0x3y1 ::~G0x3y1(){ note_dtor("G0x3y1", this);} // tgen
+G0x3y1 ::G0x3y1(){ note_ctor("G0x3y1", this);} // tgen
+
+static void Test_G0x3y1()
+{
+ extern Class_Descriptor cd_G0x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x3y1, buf);
+ G0x3y1 *dp, &lv = *(dp=new (buf) G0x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y1)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,20), "G0x3y1");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,24), "G0x3y1");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(28,20), "G0x3y1");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(40,32), "G0x3y1");
+ check_base_class_offset(lv, (E0x3*), ABISELECT(16,12), "G0x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x3y1.ff");
+ test_class_info(&lv, &cd_G0x3y1);
+ dp->~G0x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y1(Test_G0x3y1, "G0x3y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y1C1Ev();
+extern void _ZN6G0x3y1D1Ev();
+Name_Map name_map_G0x3y1[] = {
+ NSPAIR(_ZN6G0x3y1C1Ev),
+ NSPAIR(_ZN6G0x3y1D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x3y1[] = {
+ // 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, 1},
+ {&cd_D1, ABISELECT(40,32), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, ABISELECT(16,12), //bcp->offset
+ 6, //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
+ 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 _ZTI6G0x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x3y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y1[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y1[] = {
+ {&(_ZTV6G0x3y1[5]), 5,14},
+ {&(_ZTV6G0x3y1[10]), 10,14},
+ {&(_ZTV6G0x3y1[13]), 13,14},
+ {&(_tg__ZTV4E0x3__6G0x3y1[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x3y1[];
+extern VTBL_ENTRY _ZTV6G0x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y1[];
+Class_Descriptor cd_G0x3y1 = { "G0x3y1", // class name
+ bases_G0x3y1, 6,
+ &(vtc_G0x3y1[0]), // expected_vtbl_contents
+ &(vtt_G0x3y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y1),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 G0x3y2 : E0x3 , virtual F1 {
+ int ff;
+ ~G0x3y2(); // tgen
+ G0x3y2(); // tgen
+};
+//SIG(1 G0x3y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x3y2 ::~G0x3y2(){ note_dtor("G0x3y2", this);} // tgen
+G0x3y2 ::G0x3y2(){ note_ctor("G0x3y2", this);} // tgen
+
+static void Test_G0x3y2()
+{
+ extern Class_Descriptor cd_G0x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x3y2, buf);
+ G0x3y2 *dp, &lv = *(dp=new (buf) G0x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y2)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "G0x3y2");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "G0x3y2");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(16,12), "G0x3y2");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(32,24), "G0x3y2");
+ check_base_class_offset(lv, (E0x3*), 0, "G0x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x3y2.ff");
+ test_class_info(&lv, &cd_G0x3y2);
+ dp->~G0x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y2(Test_G0x3y2, "G0x3y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y2C1Ev();
+extern void _ZN6G0x3y2D1Ev();
+Name_Map name_map_G0x3y2[] = {
+ NSPAIR(_ZN6G0x3y2C1Ev),
+ NSPAIR(_ZN6G0x3y2D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x3y2[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(20,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_C0, 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, 1},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, 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(48,32), //bcp->offset
+ 9, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x3y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y2[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y2[] = {
+ {&(_ZTV6G0x3y2[5]), 5,13},
+ {&(_tg__ZTV4E0x3__6G0x3y2[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y2[3]), 3,4},
+ {&(_ZTV6G0x3y2[8]), 8,13},
+ {&(_ZTV6G0x3y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G0x3y2[];
+extern VTBL_ENTRY _ZTV6G0x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y2[];
+Class_Descriptor cd_G0x3y2 = { "G0x3y2", // class name
+ bases_G0x3y2, 6,
+ &(vtc_G0x3y2[0]), // expected_vtbl_contents
+ &(vtt_G0x3y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y2),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 G0x3y3 : virtual E0x3 , virtual F1 {
+ int ff;
+ ~G0x3y3(); // tgen
+ G0x3y3(); // tgen
+};
+//SIG(1 G0x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G0x3y3 ::~G0x3y3(){ note_dtor("G0x3y3", this);} // tgen
+G0x3y3 ::G0x3y3(){ note_ctor("G0x3y3", this);} // tgen
+
+static void Test_G0x3y3()
+{
+ extern Class_Descriptor cd_G0x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G0x3y3, buf);
+ G0x3y3 *dp, &lv = *(dp=new (buf) G0x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G0x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y3)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,16), "G0x3y3");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,20), "G0x3y3");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(28,16), "G0x3y3");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(40,28), "G0x3y3");
+ check_base_class_offset(lv, (E0x3*), ABISELECT(16,8), "G0x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G0x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x3y3.ff");
+ test_class_info(&lv, &cd_G0x3y3);
+ dp->~G0x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y3(Test_G0x3y3, "G0x3y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y3C1Ev();
+extern void _ZN6G0x3y3D1Ev();
+Name_Map name_map_G0x3y3[] = {
+ NSPAIR(_ZN6G0x3y3C1Ev),
+ NSPAIR(_ZN6G0x3y3D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x3y3[] = {
+ // 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, 1},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x3y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x3y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x3y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G0x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y3[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y3[] = {
+ {&(_ZTV6G0x3y3[6]), 6,18},
+ {&(_ZTV6G0x3y3[10]), 10,18},
+ {&(_ZTV6G0x3y3[13]), 13,18},
+ {&(_ZTV6G0x3y3[17]), 17,18},
+ {&(_tg__ZTV4E0x3__6G0x3y3[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x3y3[];
+extern VTBL_ENTRY _ZTV6G0x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y3[];
+Class_Descriptor cd_G0x3y3 = { "G0x3y3", // class name
+ bases_G0x3y3, 6,
+ &(vtc_G0x3y3[0]), // expected_vtbl_contents
+ &(vtt_G0x3y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G0x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y3),6, //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 G0x3y4 : E0x3 , F0 {
+ int ff;
+ ~G0x3y4(); // tgen
+ G0x3y4(); // tgen
+};
+//SIG(1 G0x3y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x3y4 ::~G0x3y4(){ note_dtor("G0x3y4", this);} // tgen
+G0x3y4 ::G0x3y4(){ note_ctor("G0x3y4", this);} // tgen
+
+static void Test_G0x3y4()
+{
+ extern Class_Descriptor cd_G0x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x3y4, buf);
+ G0x3y4 *dp, &lv = *(dp=new (buf) G0x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y4)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x3y4");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x3y4");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(20,16), "G0x3y4");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(32,28), "G0x3y4");
+ check_base_class_offset(lv, (E0x3*), 0, "G0x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G0x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x3y4.ff");
+ test_class_info(&lv, &cd_G0x3y4);
+ dp->~G0x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y4(Test_G0x3y4, "G0x3y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y4C1Ev();
+extern void _ZN6G0x3y4D1Ev();
+Name_Map name_map_G0x3y4[] = {
+ NSPAIR(_ZN6G0x3y4C1Ev),
+ NSPAIR(_ZN6G0x3y4D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(20,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(24,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(20,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, 1},
+ {&cd_D1, ABISELECT(32,28), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, 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_F0, 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 _ZTI6G0x3y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y4[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y4[] = {
+ {&(_ZTV6G0x3y4[4]), 4,8},
+ {&(_tg__ZTV4E0x3__6G0x3y4[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y4[3]), 3,4},
+ {&(_ZTV6G0x3y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x3y4[];
+extern VTBL_ENTRY _ZTV6G0x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y4[];
+Class_Descriptor cd_G0x3y4 = { "G0x3y4", // class name
+ bases_G0x3y4, 6,
+ &(vtc_G0x3y4[0]), // expected_vtbl_contents
+ &(vtt_G0x3y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y4),4, //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 G0x3y5 : virtual E0x3 , F0 {
+ int ff;
+ ~G0x3y5(); // tgen
+ G0x3y5(); // tgen
+};
+//SIG(1 G0x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x3y5 ::~G0x3y5(){ note_dtor("G0x3y5", this);} // tgen
+G0x3y5 ::G0x3y5(){ note_ctor("G0x3y5", this);} // tgen
+
+static void Test_G0x3y5()
+{
+ extern Class_Descriptor cd_G0x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x3y5, buf);
+ G0x3y5 *dp, &lv = *(dp=new (buf) G0x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y5)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,20), "G0x3y5");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,24), "G0x3y5");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(28,20), "G0x3y5");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(40,32), "G0x3y5");
+ check_base_class_offset(lv, (E0x3*), ABISELECT(16,12), "G0x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x3y5.ff");
+ test_class_info(&lv, &cd_G0x3y5);
+ dp->~G0x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y5(Test_G0x3y5, "G0x3y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y5C1Ev();
+extern void _ZN6G0x3y5D1Ev();
+Name_Map name_map_G0x3y5[] = {
+ NSPAIR(_ZN6G0x3y5C1Ev),
+ NSPAIR(_ZN6G0x3y5D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x3y5[] = {
+ // 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, 1},
+ {&cd_D1, ABISELECT(40,32), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, 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
+ 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 _ZTI6G0x3y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x3y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y5[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y5[] = {
+ {&(_ZTV6G0x3y5[5]), 5,13},
+ {&(_ZTV6G0x3y5[9]), 9,13},
+ {&(_ZTV6G0x3y5[12]), 12,13},
+ {&(_tg__ZTV4E0x3__6G0x3y5[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x3y5[];
+extern VTBL_ENTRY _ZTV6G0x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y5[];
+Class_Descriptor cd_G0x3y5 = { "G0x3y5", // class name
+ bases_G0x3y5, 6,
+ &(vtc_G0x3y5[0]), // expected_vtbl_contents
+ &(vtt_G0x3y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y5),5, //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 G0x3y6 : E0x3 , virtual F0 {
+ int ff;
+ ~G0x3y6(); // tgen
+ G0x3y6(); // tgen
+};
+//SIG(1 G0x3y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x3y6 ::~G0x3y6(){ note_dtor("G0x3y6", this);} // tgen
+G0x3y6 ::G0x3y6(){ note_ctor("G0x3y6", this);} // tgen
+
+static void Test_G0x3y6()
+{
+ extern Class_Descriptor cd_G0x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x3y6, buf);
+ G0x3y6 *dp, &lv = *(dp=new (buf) G0x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y6)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "G0x3y6");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "G0x3y6");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(16,12), "G0x3y6");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(32,24), "G0x3y6");
+ check_base_class_offset(lv, (E0x3*), 0, "G0x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x3y6.ff");
+ test_class_info(&lv, &cd_G0x3y6);
+ dp->~G0x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y6(Test_G0x3y6, "G0x3y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y6C1Ev();
+extern void _ZN6G0x3y6D1Ev();
+Name_Map name_map_G0x3y6[] = {
+ NSPAIR(_ZN6G0x3y6C1Ev),
+ NSPAIR(_ZN6G0x3y6D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x3y6[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(20,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_C0, 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, 1},
+ {&cd_D1, ABISELECT(32,24), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, 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_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 _ZTI6G0x3y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G0x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y6[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y6[] = {
+ {&(_ZTV6G0x3y6[5]), 5,9},
+ {&(_tg__ZTV4E0x3__6G0x3y6[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y6[3]), 3,4},
+ {&(_ZTV6G0x3y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G0x3y6[];
+extern VTBL_ENTRY _ZTV6G0x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y6[];
+Class_Descriptor cd_G0x3y6 = { "G0x3y6", // class name
+ bases_G0x3y6, 6,
+ &(vtc_G0x3y6[0]), // expected_vtbl_contents
+ &(vtt_G0x3y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y6),4, //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 G0x3y7 : virtual E0x3 , virtual F0 {
+ int ff;
+ ~G0x3y7(); // tgen
+ G0x3y7(); // tgen
+};
+//SIG(1 G0x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x3y7 ::~G0x3y7(){ note_dtor("G0x3y7", this);} // tgen
+G0x3y7 ::G0x3y7(){ note_ctor("G0x3y7", this);} // tgen
+
+static void Test_G0x3y7()
+{
+ extern Class_Descriptor cd_G0x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G0x3y7, buf);
+ G0x3y7 *dp, &lv = *(dp=new (buf) G0x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G0x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x3y7)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,16), "G0x3y7");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,20), "G0x3y7");
+ check_base_class_offset(lv, (C0*)(E0x3*), ABISELECT(28,16), "G0x3y7");
+ check_base_class_offset(lv, (D1*)(E0x3*), ABISELECT(40,28), "G0x3y7");
+ check_base_class_offset(lv, (E0x3*), ABISELECT(16,8), "G0x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G0x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x3y7.ff");
+ test_class_info(&lv, &cd_G0x3y7);
+ dp->~G0x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x3y7(Test_G0x3y7, "G0x3y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x3y7C1Ev();
+extern void _ZN6G0x3y7D1Ev();
+Name_Map name_map_G0x3y7[] = {
+ NSPAIR(_ZN6G0x3y7C1Ev),
+ NSPAIR(_ZN6G0x3y7D1Ev),
+ {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_E0x3;
+extern VTBL_ENTRY _ZTI4E0x3[];
+extern VTBL_ENTRY _ZTV4E0x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x3y7[] = {
+ // 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, 1},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x3, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 2, //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 _ZTI6G0x3y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G0x3y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x3y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x3y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x3y7[];
+static VTBL_ENTRY _tg__ZTV4E0x3__6G0x3y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E0x3__6G0x3y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E0x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G0x3y7[] = {
+ {&(_ZTV6G0x3y7[6]), 6,14},
+ {&(_ZTV6G0x3y7[10]), 10,14},
+ {&(_ZTV6G0x3y7[13]), 13,14},
+ {&(_tg__ZTV4E0x3__6G0x3y7[4]), 4,4},
+ {&(_tg__ZTV2D1__4E0x3__6G0x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x3y7[];
+extern VTBL_ENTRY _ZTV6G0x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x3y7[];
+Class_Descriptor cd_G0x3y7 = { "G0x3y7", // class name
+ bases_G0x3y7, 6,
+ &(vtc_G0x3y7[0]), // expected_vtbl_contents
+ &(vtt_G0x3y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G0x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x3y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x3y7),5, //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 E1x3 : virtual C1 , virtual D1 {
+ int fd;
+ ~E1x3(); // tgen
+ E1x3(); // tgen
+};
+//SIG(-1 E1x3) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E1x3 ::~E1x3(){ note_dtor("E1x3", this);} // tgen
+E1x3 ::E1x3(){ note_ctor("E1x3", this);} // tgen
+
+static void Test_E1x3()
+{
+ extern Class_Descriptor cd_E1x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E1x3, buf);
+ E1x3 *dp, &lv = *(dp=new (buf) E1x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E1x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x3)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,8), "E1x3");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,16), "E1x3");
+ check_base_class_offset(lv, (C1*), ABISELECT(16,8), "E1x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E1x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E1x3.fd");
+ test_class_info(&lv, &cd_E1x3);
+ dp->~E1x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x3(Test_E1x3, "E1x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E1x3C1Ev();
+extern void _ZN4E1x3D1Ev();
+Name_Map name_map_E1x3[] = {
+ NSPAIR(_ZN4E1x3C1Ev),
+ NSPAIR(_ZN4E1x3D1Ev),
+ {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_E1x3[] = {
+ // 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)
+ 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
+ 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_D1, ABISELECT(40,24), //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 _ZTI4E1x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E1x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x3[];
+static VTT_ENTRY vtt_E1x3[] = {
+ {&(_ZTV4E1x3[4]), 4,12},
+ {&(_ZTV4E1x3[7]), 7,12},
+ {&(_ZTV4E1x3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+Class_Descriptor cd_E1x3 = { "E1x3", // class name
+ bases_E1x3, 4,
+ &(vtc_E1x3[0]), // expected_vtbl_contents
+ &(vtt_E1x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E1x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x3),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 G1x3y0 : E1x3 , F1 {
+ int ff;
+ ~G1x3y0(); // tgen
+ G1x3y0(); // tgen
+};
+//SIG(1 G1x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x3y0 ::~G1x3y0(){ note_dtor("G1x3y0", this);} // tgen
+G1x3y0 ::G1x3y0(){ note_ctor("G1x3y0", this);} // tgen
+
+static void Test_G1x3y0()
+{
+ extern Class_Descriptor cd_G1x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x3y0, buf);
+ G1x3y0 *dp, &lv = *(dp=new (buf) G1x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y0)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x3y0");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x3y0");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(32,20), "G1x3y0");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(56,36), "G1x3y0");
+ check_base_class_offset(lv, (E1x3*), 0, "G1x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G1x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G1x3y0.ff");
+ test_class_info(&lv, &cd_G1x3y0);
+ dp->~G1x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y0(Test_G1x3y0, "G1x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y0C1Ev();
+extern void _ZN6G1x3y0D1Ev();
+Name_Map name_map_G1x3y0[] = {
+ NSPAIR(_ZN6G1x3y0C1Ev),
+ NSPAIR(_ZN6G1x3y0D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y0[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y0[] = {
+ {&(_ZTV6G1x3y0[4]), 4,15},
+ {&(_tg__ZTV4E1x3__6G1x3y0[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y0[3]), 3,4},
+ {&(_ZTV6G1x3y0[10]), 10,15},
+ {&(_ZTV6G1x3y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G1x3y0[];
+extern VTBL_ENTRY _ZTV6G1x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y0[];
+Class_Descriptor cd_G1x3y0 = { "G1x3y0", // class name
+ bases_G1x3y0, 6,
+ &(vtc_G1x3y0[0]), // expected_vtbl_contents
+ &(vtt_G1x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y0),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 G1x3y1 : virtual E1x3 , F1 {
+ int ff;
+ ~G1x3y1(); // tgen
+ G1x3y1(); // tgen
+};
+//SIG(1 G1x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G1x3y1 ::~G1x3y1(){ note_dtor("G1x3y1", this);} // tgen
+G1x3y1 ::G1x3y1(){ note_ctor("G1x3y1", this);} // tgen
+
+static void Test_G1x3y1()
+{
+ extern Class_Descriptor cd_G1x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x3y1, buf);
+ G1x3y1 *dp, &lv = *(dp=new (buf) G1x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y1)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x3y1");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x3y1");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(32,20), "G1x3y1");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(56,36), "G1x3y1");
+ check_base_class_offset(lv, (E1x3*), ABISELECT(16,12), "G1x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x3y1.ff");
+ test_class_info(&lv, &cd_G1x3y1);
+ dp->~G1x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y1(Test_G1x3y1, "G1x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y1C1Ev();
+extern void _ZN6G1x3y1D1Ev();
+Name_Map name_map_G1x3y1[] = {
+ NSPAIR(_ZN6G1x3y1C1Ev),
+ NSPAIR(_ZN6G1x3y1D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI6G1x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y1[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y1[] = {
+ {&(_ZTV6G1x3y1[5]), 5,18},
+ {&(_ZTV6G1x3y1[10]), 10,18},
+ {&(_ZTV6G1x3y1[13]), 13,18},
+ {&(_ZTV6G1x3y1[17]), 17,18},
+ {&(_tg__ZTV4E1x3__6G1x3y1[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x3y1[];
+extern VTBL_ENTRY _ZTV6G1x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y1[];
+Class_Descriptor cd_G1x3y1 = { "G1x3y1", // class name
+ bases_G1x3y1, 6,
+ &(vtc_G1x3y1[0]), // expected_vtbl_contents
+ &(vtt_G1x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y1),7, //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 G1x3y2 : E1x3 , virtual F1 {
+ int ff;
+ ~G1x3y2(); // tgen
+ G1x3y2(); // tgen
+};
+//SIG(1 G1x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x3y2 ::~G1x3y2(){ note_dtor("G1x3y2", this);} // tgen
+G1x3y2 ::G1x3y2(){ note_ctor("G1x3y2", this);} // tgen
+
+static void Test_G1x3y2()
+{
+ extern Class_Descriptor cd_G1x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x3y2, buf);
+ G1x3y2 *dp, &lv = *(dp=new (buf) G1x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y2)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "G1x3y2");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "G1x3y2");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(16,12), "G1x3y2");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(40,28), "G1x3y2");
+ check_base_class_offset(lv, (E1x3*), 0, "G1x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x3y2.ff");
+ test_class_info(&lv, &cd_G1x3y2);
+ dp->~G1x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y2(Test_G1x3y2, "G1x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y2C1Ev();
+extern void _ZN6G1x3y2D1Ev();
+Name_Map name_map_G1x3y2[] = {
+ NSPAIR(_ZN6G1x3y2C1Ev),
+ NSPAIR(_ZN6G1x3y2D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y2[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y2[] = {
+ {&(_ZTV6G1x3y2[5]), 5,17},
+ {&(_tg__ZTV4E1x3__6G1x3y2[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y2[3]), 3,4},
+ {&(_ZTV6G1x3y2[8]), 8,17},
+ {&(_ZTV6G1x3y2[12]), 12,17},
+ {&(_ZTV6G1x3y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI6G1x3y2[];
+extern VTBL_ENTRY _ZTV6G1x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y2[];
+Class_Descriptor cd_G1x3y2 = { "G1x3y2", // class name
+ bases_G1x3y2, 6,
+ &(vtc_G1x3y2[0]), // expected_vtbl_contents
+ &(vtt_G1x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y2),7, //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 G1x3y3 : virtual E1x3 , virtual F1 {
+ int ff;
+ ~G1x3y3(); // tgen
+ G1x3y3(); // tgen
+};
+//SIG(1 G1x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G1x3y3 ::~G1x3y3(){ note_dtor("G1x3y3", this);} // tgen
+G1x3y3 ::G1x3y3(){ note_ctor("G1x3y3", this);} // tgen
+
+static void Test_G1x3y3()
+{
+ extern Class_Descriptor cd_G1x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G1x3y3, buf);
+ G1x3y3 *dp, &lv = *(dp=new (buf) G1x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G1x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y3)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,16), "G1x3y3");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,24), "G1x3y3");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(32,16), "G1x3y3");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(56,32), "G1x3y3");
+ check_base_class_offset(lv, (E1x3*), ABISELECT(16,8), "G1x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G1x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x3y3.ff");
+ test_class_info(&lv, &cd_G1x3y3);
+ dp->~G1x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y3(Test_G1x3y3, "G1x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y3C1Ev();
+extern void _ZN6G1x3y3D1Ev();
+Name_Map name_map_G1x3y3[] = {
+ NSPAIR(_ZN6G1x3y3C1Ev),
+ NSPAIR(_ZN6G1x3y3D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(44,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_C1, ABISELECT(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI6G1x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G1x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y3[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y3[] = {
+ {&(_ZTV6G1x3y3[6]), 6,22},
+ {&(_ZTV6G1x3y3[10]), 10,22},
+ {&(_ZTV6G1x3y3[13]), 13,22},
+ {&(_ZTV6G1x3y3[17]), 17,22},
+ {&(_ZTV6G1x3y3[21]), 21,22},
+ {&(_tg__ZTV4E1x3__6G1x3y3[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x3y3[];
+extern VTBL_ENTRY _ZTV6G1x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y3[];
+Class_Descriptor cd_G1x3y3 = { "G1x3y3", // class name
+ bases_G1x3y3, 6,
+ &(vtc_G1x3y3[0]), // expected_vtbl_contents
+ &(vtt_G1x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G1x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y3),8, //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 G1x3y4 : E1x3 , F0 {
+ int ff;
+ ~G1x3y4(); // tgen
+ G1x3y4(); // tgen
+};
+//SIG(1 G1x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x3y4 ::~G1x3y4(){ note_dtor("G1x3y4", this);} // tgen
+G1x3y4 ::G1x3y4(){ note_ctor("G1x3y4", this);} // tgen
+
+static void Test_G1x3y4()
+{
+ extern Class_Descriptor cd_G1x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x3y4, buf);
+ G1x3y4 *dp, &lv = *(dp=new (buf) G1x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y4)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x3y4");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x3y4");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(24,16), "G1x3y4");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(48,32), "G1x3y4");
+ check_base_class_offset(lv, (E1x3*), 0, "G1x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G1x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x3y4.ff");
+ test_class_info(&lv, &cd_G1x3y4);
+ dp->~G1x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y4(Test_G1x3y4, "G1x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y4C1Ev();
+extern void _ZN6G1x3y4D1Ev();
+Name_Map name_map_G1x3y4[] = {
+ NSPAIR(_ZN6G1x3y4C1Ev),
+ NSPAIR(_ZN6G1x3y4D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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,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_C1, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, 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(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 _ZTI6G1x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y4[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y4[] = {
+ {&(_ZTV6G1x3y4[4]), 4,12},
+ {&(_tg__ZTV4E1x3__6G1x3y4[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y4[3]), 3,4},
+ {&(_ZTV6G1x3y4[7]), 7,12},
+ {&(_ZTV6G1x3y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G1x3y4[];
+extern VTBL_ENTRY _ZTV6G1x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y4[];
+Class_Descriptor cd_G1x3y4 = { "G1x3y4", // class name
+ bases_G1x3y4, 6,
+ &(vtc_G1x3y4[0]), // expected_vtbl_contents
+ &(vtt_G1x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y4),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 G1x3y5 : virtual E1x3 , F0 {
+ int ff;
+ ~G1x3y5(); // tgen
+ G1x3y5(); // tgen
+};
+//SIG(1 G1x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x3y5 ::~G1x3y5(){ note_dtor("G1x3y5", this);} // tgen
+G1x3y5 ::G1x3y5(){ note_ctor("G1x3y5", this);} // tgen
+
+static void Test_G1x3y5()
+{
+ extern Class_Descriptor cd_G1x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x3y5, buf);
+ G1x3y5 *dp, &lv = *(dp=new (buf) G1x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y5)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x3y5");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x3y5");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(32,20), "G1x3y5");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(56,36), "G1x3y5");
+ check_base_class_offset(lv, (E1x3*), ABISELECT(16,12), "G1x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x3y5.ff");
+ test_class_info(&lv, &cd_G1x3y5);
+ dp->~G1x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y5(Test_G1x3y5, "G1x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y5C1Ev();
+extern void _ZN6G1x3y5D1Ev();
+Name_Map name_map_G1x3y5[] = {
+ NSPAIR(_ZN6G1x3y5C1Ev),
+ NSPAIR(_ZN6G1x3y5D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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(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, 0},
+ {&cd_C1, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, 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_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 _ZTI6G1x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y5[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y5[] = {
+ {&(_ZTV6G1x3y5[5]), 5,17},
+ {&(_ZTV6G1x3y5[9]), 9,17},
+ {&(_ZTV6G1x3y5[12]), 12,17},
+ {&(_ZTV6G1x3y5[16]), 16,17},
+ {&(_tg__ZTV4E1x3__6G1x3y5[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x3y5[];
+extern VTBL_ENTRY _ZTV6G1x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y5[];
+Class_Descriptor cd_G1x3y5 = { "G1x3y5", // class name
+ bases_G1x3y5, 6,
+ &(vtc_G1x3y5[0]), // expected_vtbl_contents
+ &(vtt_G1x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y5),7, //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 G1x3y6 : E1x3 , virtual F0 {
+ int ff;
+ ~G1x3y6(); // tgen
+ G1x3y6(); // tgen
+};
+//SIG(1 G1x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x3y6 ::~G1x3y6(){ note_dtor("G1x3y6", this);} // tgen
+G1x3y6 ::G1x3y6(){ note_ctor("G1x3y6", this);} // tgen
+
+static void Test_G1x3y6()
+{
+ extern Class_Descriptor cd_G1x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x3y6, buf);
+ G1x3y6 *dp, &lv = *(dp=new (buf) G1x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y6)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "G1x3y6");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "G1x3y6");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(16,12), "G1x3y6");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(40,28), "G1x3y6");
+ check_base_class_offset(lv, (E1x3*), 0, "G1x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G1x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x3y6.ff");
+ test_class_info(&lv, &cd_G1x3y6);
+ dp->~G1x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y6(Test_G1x3y6, "G1x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y6C1Ev();
+extern void _ZN6G1x3y6D1Ev();
+Name_Map name_map_G1x3y6[] = {
+ NSPAIR(_ZN6G1x3y6C1Ev),
+ NSPAIR(_ZN6G1x3y6D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, 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 _ZTI6G1x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y6[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y6[] = {
+ {&(_ZTV6G1x3y6[5]), 5,13},
+ {&(_tg__ZTV4E1x3__6G1x3y6[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y6[3]), 3,4},
+ {&(_ZTV6G1x3y6[8]), 8,13},
+ {&(_ZTV6G1x3y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G1x3y6[];
+extern VTBL_ENTRY _ZTV6G1x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y6[];
+Class_Descriptor cd_G1x3y6 = { "G1x3y6", // class name
+ bases_G1x3y6, 6,
+ &(vtc_G1x3y6[0]), // expected_vtbl_contents
+ &(vtt_G1x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y6),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 G1x3y7 : virtual E1x3 , virtual F0 {
+ int ff;
+ ~G1x3y7(); // tgen
+ G1x3y7(); // tgen
+};
+//SIG(1 G1x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x3y7 ::~G1x3y7(){ note_dtor("G1x3y7", this);} // tgen
+G1x3y7 ::G1x3y7(){ note_ctor("G1x3y7", this);} // tgen
+
+static void Test_G1x3y7()
+{
+ extern Class_Descriptor cd_G1x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x3y7, buf);
+ G1x3y7 *dp, &lv = *(dp=new (buf) G1x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x3y7)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,16), "G1x3y7");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,24), "G1x3y7");
+ check_base_class_offset(lv, (C1*)(E1x3*), ABISELECT(32,16), "G1x3y7");
+ check_base_class_offset(lv, (D1*)(E1x3*), ABISELECT(56,32), "G1x3y7");
+ check_base_class_offset(lv, (E1x3*), ABISELECT(16,8), "G1x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G1x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x3y7.ff");
+ test_class_info(&lv, &cd_G1x3y7);
+ dp->~G1x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x3y7(Test_G1x3y7, "G1x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x3y7C1Ev();
+extern void _ZN6G1x3y7D1Ev();
+Name_Map name_map_G1x3y7[] = {
+ NSPAIR(_ZN6G1x3y7C1Ev),
+ NSPAIR(_ZN6G1x3y7D1Ev),
+ {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_E1x3;
+extern VTBL_ENTRY _ZTI4E1x3[];
+extern VTBL_ENTRY _ZTV4E1x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(44,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_C1, ABISELECT(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI6G1x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G1x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x3y7[];
+static VTBL_ENTRY _tg__ZTV4E1x3__6G1x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x3__6G1x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E1x3__6G1x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G1x3y7[] = {
+ {&(_ZTV6G1x3y7[6]), 6,18},
+ {&(_ZTV6G1x3y7[10]), 10,18},
+ {&(_ZTV6G1x3y7[13]), 13,18},
+ {&(_ZTV6G1x3y7[17]), 17,18},
+ {&(_tg__ZTV4E1x3__6G1x3y7[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x3__6G1x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E1x3__6G1x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x3y7[];
+extern VTBL_ENTRY _ZTV6G1x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x3y7[];
+Class_Descriptor cd_G1x3y7 = { "G1x3y7", // class name
+ bases_G1x3y7, 6,
+ &(vtc_G1x3y7[0]), // expected_vtbl_contents
+ &(vtt_G1x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x3y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x3y7),7, //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 E2x3 : virtual C2 , virtual D1 {
+ int fd;
+ ~E2x3(); // tgen
+ E2x3(); // tgen
+};
+//SIG(-1 E2x3) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E2x3 ::~E2x3(){ note_dtor("E2x3", this);} // tgen
+E2x3 ::E2x3(){ note_ctor("E2x3", this);} // tgen
+
+static void Test_E2x3()
+{
+ extern Class_Descriptor cd_E2x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E2x3, buf);
+ E2x3 *dp, &lv = *(dp=new (buf) E2x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E2x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x3)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,20), "E2x3");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,12), "E2x3");
+ check_base_class_offset(lv, (C2*), ABISELECT(16,8), "E2x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E2x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E2x3.fd");
+ test_class_info(&lv, &cd_E2x3);
+ dp->~E2x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x3(Test_E2x3, "E2x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E2x3C1Ev();
+extern void _ZN4E2x3D1Ev();
+Name_Map name_map_E2x3[] = {
+ NSPAIR(_ZN4E2x3C1Ev),
+ NSPAIR(_ZN4E2x3D1Ev),
+ {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_E2x3[] = {
+ // 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(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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //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 _ZTI4E2x3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E2x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E2x3[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x3[] = {
+ {&(_ZTV4E2x3[5]), 5,12},
+ {&(_ZTV4E2x3[8]), 8,12},
+ {&(_ZTV4E2x3[11]), 11,12},
+ {&(_tg__ZTV2C2__4E2x3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+Class_Descriptor cd_E2x3 = { "E2x3", // class name
+ bases_E2x3, 4,
+ &(vtc_E2x3[0]), // expected_vtbl_contents
+ &(vtt_E2x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E2x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x3),4, //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 G2x3y0 : E2x3 , F1 {
+ int ff;
+ ~G2x3y0(); // tgen
+ G2x3y0(); // tgen
+};
+//SIG(1 G2x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x3y0 ::~G2x3y0(){ note_dtor("G2x3y0", this);} // tgen
+G2x3y0 ::G2x3y0(){ note_ctor("G2x3y0", this);} // tgen
+
+static void Test_G2x3y0()
+{
+ extern Class_Descriptor cd_G2x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x3y0, buf);
+ G2x3y0 *dp, &lv = *(dp=new (buf) G2x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y0)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x3y0");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x3y0");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(32,20), "G2x3y0");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(56,36), "G2x3y0");
+ check_base_class_offset(lv, (E2x3*), 0, "G2x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G2x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G2x3y0.ff");
+ test_class_info(&lv, &cd_G2x3y0);
+ dp->~G2x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y0(Test_G2x3y0, "G2x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y0C1Ev();
+extern void _ZN6G2x3y0D1Ev();
+Name_Map name_map_G2x3y0[] = {
+ NSPAIR(_ZN6G2x3y0C1Ev),
+ NSPAIR(_ZN6G2x3y0D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x3y0[] = {
+ // 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(40,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_C2, 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G2x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x3y0[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y0[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y0[] = {
+ {&(_ZTV6G2x3y0[5]), 5,15},
+ {&(_tg__ZTV4E2x3__6G2x3y0[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y0[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y0[3]), 3,4},
+ {&(_ZTV6G2x3y0[11]), 11,15},
+ {&(_ZTV6G2x3y0[14]), 14,15},
+ {&(_tg__ZTV2C2__6G2x3y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y0[];
+extern VTBL_ENTRY _ZTV6G2x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y0[];
+Class_Descriptor cd_G2x3y0 = { "G2x3y0", // class name
+ bases_G2x3y0, 6,
+ &(vtc_G2x3y0[0]), // expected_vtbl_contents
+ &(vtt_G2x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y0),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y0),7, //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 G2x3y1 : virtual E2x3 , F1 {
+ int ff;
+ ~G2x3y1(); // tgen
+ G2x3y1(); // tgen
+};
+//SIG(1 G2x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G2x3y1 ::~G2x3y1(){ note_dtor("G2x3y1", this);} // tgen
+G2x3y1 ::G2x3y1(){ note_ctor("G2x3y1", this);} // tgen
+
+static void Test_G2x3y1()
+{
+ extern Class_Descriptor cd_G2x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x3y1, buf);
+ G2x3y1 *dp, &lv = *(dp=new (buf) G2x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y1)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x3y1");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x3y1");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(32,20), "G2x3y1");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(56,36), "G2x3y1");
+ check_base_class_offset(lv, (E2x3*), ABISELECT(16,12), "G2x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x3y1.ff");
+ test_class_info(&lv, &cd_G2x3y1);
+ dp->~G2x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y1(Test_G2x3y1, "G2x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y1C1Ev();
+extern void _ZN6G2x3y1D1Ev();
+Name_Map name_map_G2x3y1[] = {
+ NSPAIR(_ZN6G2x3y1C1Ev),
+ NSPAIR(_ZN6G2x3y1D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x3y1[] = {
+ // 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(40,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_C2, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI6G2x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x3y1[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y1[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y1[] = {
+ {&(_ZTV6G2x3y1[6]), 6,19},
+ {&(_ZTV6G2x3y1[12]), 12,19},
+ {&(_ZTV6G2x3y1[15]), 15,19},
+ {&(_ZTV6G2x3y1[18]), 18,19},
+ {&(_tg__ZTV4E2x3__6G2x3y1[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y1[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y1[3]), 3,4},
+ {&(_tg__ZTV2C2__6G2x3y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y1[];
+extern VTBL_ENTRY _ZTV6G2x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y1[];
+Class_Descriptor cd_G2x3y1 = { "G2x3y1", // class name
+ bases_G2x3y1, 6,
+ &(vtc_G2x3y1[0]), // expected_vtbl_contents
+ &(vtt_G2x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y1),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y1),8, //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 G2x3y2 : E2x3 , virtual F1 {
+ int ff;
+ ~G2x3y2(); // tgen
+ G2x3y2(); // tgen
+};
+//SIG(1 G2x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x3y2 ::~G2x3y2(){ note_dtor("G2x3y2", this);} // tgen
+G2x3y2 ::G2x3y2(){ note_ctor("G2x3y2", this);} // tgen
+
+static void Test_G2x3y2()
+{
+ extern Class_Descriptor cd_G2x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x3y2, buf);
+ G2x3y2 *dp, &lv = *(dp=new (buf) G2x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y2)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "G2x3y2");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "G2x3y2");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(16,12), "G2x3y2");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(40,28), "G2x3y2");
+ check_base_class_offset(lv, (E2x3*), 0, "G2x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x3y2.ff");
+ test_class_info(&lv, &cd_G2x3y2);
+ dp->~G2x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y2(Test_G2x3y2, "G2x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y2C1Ev();
+extern void _ZN6G2x3y2D1Ev();
+Name_Map name_map_G2x3y2[] = {
+ NSPAIR(_ZN6G2x3y2C1Ev),
+ NSPAIR(_ZN6G2x3y2D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x3y2[] = {
+ // 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(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
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x3y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x3y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y2[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y2[] = {
+ {&(_ZTV6G2x3y2[6]), 6,17},
+ {&(_tg__ZTV4E2x3__6G2x3y2[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y2[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y2[3]), 3,4},
+ {&(_ZTV6G2x3y2[9]), 9,17},
+ {&(_ZTV6G2x3y2[12]), 12,17},
+ {&(_ZTV6G2x3y2[16]), 16,17},
+ {&(_tg__ZTV2C2__6G2x3y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y2[];
+extern VTBL_ENTRY _ZTV6G2x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y2[];
+Class_Descriptor cd_G2x3y2 = { "G2x3y2", // class name
+ bases_G2x3y2, 6,
+ &(vtc_G2x3y2[0]), // expected_vtbl_contents
+ &(vtt_G2x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y2),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y2),8, //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 G2x3y3 : virtual E2x3 , virtual F1 {
+ int ff;
+ ~G2x3y3(); // tgen
+ G2x3y3(); // tgen
+};
+//SIG(1 G2x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G2x3y3 ::~G2x3y3(){ note_dtor("G2x3y3", this);} // tgen
+G2x3y3 ::G2x3y3(){ note_ctor("G2x3y3", this);} // tgen
+
+static void Test_G2x3y3()
+{
+ extern Class_Descriptor cd_G2x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G2x3y3, buf);
+ G2x3y3 *dp, &lv = *(dp=new (buf) G2x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G2x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y3)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,28), "G2x3y3");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,20), "G2x3y3");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(32,16), "G2x3y3");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(56,32), "G2x3y3");
+ check_base_class_offset(lv, (E2x3*), ABISELECT(16,8), "G2x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G2x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x3y3.ff");
+ test_class_info(&lv, &cd_G2x3y3);
+ dp->~G2x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y3(Test_G2x3y3, "G2x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y3C1Ev();
+extern void _ZN6G2x3y3D1Ev();
+Name_Map name_map_G2x3y3[] = {
+ NSPAIR(_ZN6G2x3y3C1Ev),
+ NSPAIR(_ZN6G2x3y3D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x3y3[] = {
+ // 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(40,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_C2, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 3, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x3y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x3y3[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G2x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y3[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y3[] = {
+ {&(_ZTV6G2x3y3[7]), 7,23},
+ {&(_ZTV6G2x3y3[12]), 12,23},
+ {&(_ZTV6G2x3y3[15]), 15,23},
+ {&(_ZTV6G2x3y3[18]), 18,23},
+ {&(_ZTV6G2x3y3[22]), 22,23},
+ {&(_tg__ZTV4E2x3__6G2x3y3[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y3[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y3[3]), 3,4},
+ {&(_tg__ZTV2C2__6G2x3y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y3[];
+extern VTBL_ENTRY _ZTV6G2x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y3[];
+Class_Descriptor cd_G2x3y3 = { "G2x3y3", // class name
+ bases_G2x3y3, 6,
+ &(vtc_G2x3y3[0]), // expected_vtbl_contents
+ &(vtt_G2x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G2x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y3),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y3),9, //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 G2x3y4 : E2x3 , F0 {
+ int ff;
+ ~G2x3y4(); // tgen
+ G2x3y4(); // tgen
+};
+//SIG(1 G2x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x3y4 ::~G2x3y4(){ note_dtor("G2x3y4", this);} // tgen
+G2x3y4 ::G2x3y4(){ note_ctor("G2x3y4", this);} // tgen
+
+static void Test_G2x3y4()
+{
+ extern Class_Descriptor cd_G2x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x3y4, buf);
+ G2x3y4 *dp, &lv = *(dp=new (buf) G2x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y4)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x3y4");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x3y4");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(24,16), "G2x3y4");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(48,32), "G2x3y4");
+ check_base_class_offset(lv, (E2x3*), 0, "G2x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G2x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x3y4.ff");
+ test_class_info(&lv, &cd_G2x3y4);
+ dp->~G2x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y4(Test_G2x3y4, "G2x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y4C1Ev();
+extern void _ZN6G2x3y4D1Ev();
+Name_Map name_map_G2x3y4[] = {
+ NSPAIR(_ZN6G2x3y4C1Ev),
+ NSPAIR(_ZN6G2x3y4D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x3y4[] = {
+ // 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(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_C2, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G2x3y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x3y4[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y4[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y4[] = {
+ {&(_ZTV6G2x3y4[5]), 5,12},
+ {&(_tg__ZTV4E2x3__6G2x3y4[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y4[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y4[3]), 3,4},
+ {&(_ZTV6G2x3y4[8]), 8,12},
+ {&(_ZTV6G2x3y4[11]), 11,12},
+ {&(_tg__ZTV2C2__6G2x3y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y4[];
+extern VTBL_ENTRY _ZTV6G2x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y4[];
+Class_Descriptor cd_G2x3y4 = { "G2x3y4", // class name
+ bases_G2x3y4, 6,
+ &(vtc_G2x3y4[0]), // expected_vtbl_contents
+ &(vtt_G2x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y4),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y4),7, //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 G2x3y5 : virtual E2x3 , F0 {
+ int ff;
+ ~G2x3y5(); // tgen
+ G2x3y5(); // tgen
+};
+//SIG(1 G2x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x3y5 ::~G2x3y5(){ note_dtor("G2x3y5", this);} // tgen
+G2x3y5 ::G2x3y5(){ note_ctor("G2x3y5", this);} // tgen
+
+static void Test_G2x3y5()
+{
+ extern Class_Descriptor cd_G2x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x3y5, buf);
+ G2x3y5 *dp, &lv = *(dp=new (buf) G2x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y5)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x3y5");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x3y5");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(32,20), "G2x3y5");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(56,36), "G2x3y5");
+ check_base_class_offset(lv, (E2x3*), ABISELECT(16,12), "G2x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x3y5.ff");
+ test_class_info(&lv, &cd_G2x3y5);
+ dp->~G2x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y5(Test_G2x3y5, "G2x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y5C1Ev();
+extern void _ZN6G2x3y5D1Ev();
+Name_Map name_map_G2x3y5[] = {
+ NSPAIR(_ZN6G2x3y5C1Ev),
+ NSPAIR(_ZN6G2x3y5D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x3y5[] = {
+ // 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(40,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_C2, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, 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
+ 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 _ZTI6G2x3y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x3y5[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y5[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y5[] = {
+ {&(_ZTV6G2x3y5[6]), 6,18},
+ {&(_ZTV6G2x3y5[11]), 11,18},
+ {&(_ZTV6G2x3y5[14]), 14,18},
+ {&(_ZTV6G2x3y5[17]), 17,18},
+ {&(_tg__ZTV4E2x3__6G2x3y5[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y5[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y5[3]), 3,4},
+ {&(_tg__ZTV2C2__6G2x3y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y5[];
+extern VTBL_ENTRY _ZTV6G2x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y5[];
+Class_Descriptor cd_G2x3y5 = { "G2x3y5", // class name
+ bases_G2x3y5, 6,
+ &(vtc_G2x3y5[0]), // expected_vtbl_contents
+ &(vtt_G2x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y5),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y5),8, //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 G2x3y6 : E2x3 , virtual F0 {
+ int ff;
+ ~G2x3y6(); // tgen
+ G2x3y6(); // tgen
+};
+//SIG(1 G2x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x3y6 ::~G2x3y6(){ note_dtor("G2x3y6", this);} // tgen
+G2x3y6 ::G2x3y6(){ note_ctor("G2x3y6", this);} // tgen
+
+static void Test_G2x3y6()
+{
+ extern Class_Descriptor cd_G2x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x3y6, buf);
+ G2x3y6 *dp, &lv = *(dp=new (buf) G2x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y6)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "G2x3y6");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "G2x3y6");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(16,12), "G2x3y6");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(40,28), "G2x3y6");
+ check_base_class_offset(lv, (E2x3*), 0, "G2x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x3y6.ff");
+ test_class_info(&lv, &cd_G2x3y6);
+ dp->~G2x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y6(Test_G2x3y6, "G2x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y6C1Ev();
+extern void _ZN6G2x3y6D1Ev();
+Name_Map name_map_G2x3y6[] = {
+ NSPAIR(_ZN6G2x3y6C1Ev),
+ NSPAIR(_ZN6G2x3y6D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x3y6[] = {
+ // 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(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
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G2x3y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x3y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y6[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y6[] = {
+ {&(_ZTV6G2x3y6[6]), 6,13},
+ {&(_tg__ZTV4E2x3__6G2x3y6[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y6[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y6[3]), 3,4},
+ {&(_ZTV6G2x3y6[9]), 9,13},
+ {&(_ZTV6G2x3y6[12]), 12,13},
+ {&(_tg__ZTV2C2__6G2x3y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y6[];
+extern VTBL_ENTRY _ZTV6G2x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y6[];
+Class_Descriptor cd_G2x3y6 = { "G2x3y6", // class name
+ bases_G2x3y6, 6,
+ &(vtc_G2x3y6[0]), // expected_vtbl_contents
+ &(vtt_G2x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y6),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y6),7, //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 G2x3y7 : virtual E2x3 , virtual F0 {
+ int ff;
+ ~G2x3y7(); // tgen
+ G2x3y7(); // tgen
+};
+//SIG(1 G2x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x3y7 ::~G2x3y7(){ note_dtor("G2x3y7", this);} // tgen
+G2x3y7 ::G2x3y7(){ note_ctor("G2x3y7", this);} // tgen
+
+static void Test_G2x3y7()
+{
+ extern Class_Descriptor cd_G2x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x3y7, buf);
+ G2x3y7 *dp, &lv = *(dp=new (buf) G2x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x3y7)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,28), "G2x3y7");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,20), "G2x3y7");
+ check_base_class_offset(lv, (C2*)(E2x3*), ABISELECT(32,16), "G2x3y7");
+ check_base_class_offset(lv, (D1*)(E2x3*), ABISELECT(56,32), "G2x3y7");
+ check_base_class_offset(lv, (E2x3*), ABISELECT(16,8), "G2x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G2x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x3y7.ff");
+ test_class_info(&lv, &cd_G2x3y7);
+ dp->~G2x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x3y7(Test_G2x3y7, "G2x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x3y7C1Ev();
+extern void _ZN6G2x3y7D1Ev();
+Name_Map name_map_G2x3y7[] = {
+ NSPAIR(_ZN6G2x3y7C1Ev),
+ NSPAIR(_ZN6G2x3y7D1Ev),
+ {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_E2x3;
+extern VTBL_ENTRY _ZTI4E2x3[];
+extern VTBL_ENTRY _ZTV4E2x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x3y7[] = {
+ // 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(40,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_C2, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_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 _ZTI6G2x3y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G2x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x3y7[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x3y7[];
+static VTBL_ENTRY _tg__ZTV4E2x3__6G2x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x3__6G2x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E2x3__6G2x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x3y7[] = {
+ {&(_ZTV6G2x3y7[7]), 7,19},
+ {&(_ZTV6G2x3y7[12]), 12,19},
+ {&(_ZTV6G2x3y7[15]), 15,19},
+ {&(_ZTV6G2x3y7[18]), 18,19},
+ {&(_tg__ZTV4E2x3__6G2x3y7[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x3__6G2x3y7[3]), 3,3},
+ {&(_tg__ZTV2D1__4E2x3__6G2x3y7[3]), 3,4},
+ {&(_tg__ZTV2C2__6G2x3y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x3y7[];
+extern VTBL_ENTRY _ZTV6G2x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x3y7[];
+Class_Descriptor cd_G2x3y7 = { "G2x3y7", // class name
+ bases_G2x3y7, 6,
+ &(vtc_G2x3y7[0]), // expected_vtbl_contents
+ &(vtt_G2x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x3y7),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x3y7),8, //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 E3x3 : virtual C3 , virtual D1 {
+ int fd;
+ ~E3x3(); // tgen
+ E3x3(); // tgen
+};
+//SIG(-1 E3x3) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E3x3 ::~E3x3(){ note_dtor("E3x3", this);} // tgen
+E3x3 ::E3x3(){ note_ctor("E3x3", this);} // tgen
+
+static void Test_E3x3()
+{
+ extern Class_Descriptor cd_E3x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E3x3, buf);
+ E3x3 *dp, &lv = *(dp=new (buf) E3x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E3x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x3)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,20), "E3x3");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,12), "E3x3");
+ check_base_class_offset(lv, (C3*), ABISELECT(16,8), "E3x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E3x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E3x3.fd");
+ test_class_info(&lv, &cd_E3x3);
+ dp->~E3x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x3(Test_E3x3, "E3x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN4E3x3C1Ev();
+extern void _ZN4E3x3D1Ev();
+Name_Map name_map_E3x3[] = {
+ NSPAIR(_ZN4E3x3C1Ev),
+ NSPAIR(_ZN4E3x3D1Ev),
+ {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_E3x3[] = {
+ // 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)
+ 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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 12, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E3x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x3[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x3[] = {
+ {&(_ZTV4E3x3[5]), 5,16},
+ {&(_ZTV4E3x3[8]), 8,16},
+ {&(_ZTV4E3x3[11]), 11,16},
+ {&(_ZTV4E3x3[15]), 15,16},
+ {&(_tg__ZTV2C3__4E3x3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+Class_Descriptor cd_E3x3 = { "E3x3", // class name
+ bases_E3x3, 4,
+ &(vtc_E3x3[0]), // expected_vtbl_contents
+ &(vtt_E3x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI4E3x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x3),6, //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 G3x3y0 : E3x3 , F1 {
+ int ff;
+ ~G3x3y0(); // tgen
+ G3x3y0(); // tgen
+};
+//SIG(1 G3x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x3y0 ::~G3x3y0(){ note_dtor("G3x3y0", this);} // tgen
+G3x3y0 ::G3x3y0(){ note_ctor("G3x3y0", this);} // tgen
+
+static void Test_G3x3y0()
+{
+ extern Class_Descriptor cd_G3x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x3y0, buf);
+ G3x3y0 *dp, &lv = *(dp=new (buf) G3x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y0)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x3y0");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x3y0");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(32,20), "G3x3y0");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(64,40), "G3x3y0");
+ check_base_class_offset(lv, (E3x3*), 0, "G3x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G3x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G3x3y0.ff");
+ test_class_info(&lv, &cd_G3x3y0);
+ dp->~G3x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y0(Test_G3x3y0, "G3x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y0C1Ev();
+extern void _ZN6G3x3y0D1Ev();
+Name_Map name_map_G3x3y0[] = {
+ NSPAIR(_ZN6G3x3y0C1Ev),
+ NSPAIR(_ZN6G3x3y0D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x3y0[] = {
+ // 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)
+ 7, //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,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_C3, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x3y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y0[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y0[] = {
+ {&(_ZTV6G3x3y0[5]), 5,19},
+ {&(_tg__ZTV4E3x3__6G3x3y0[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y0[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y0[3]), 3,4},
+ {&(_ZTV6G3x3y0[11]), 11,19},
+ {&(_ZTV6G3x3y0[14]), 14,19},
+ {&(_ZTV6G3x3y0[18]), 18,19},
+ {&(_tg__ZTV2C3__6G3x3y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y0[];
+extern VTBL_ENTRY _ZTV6G3x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y0[];
+Class_Descriptor cd_G3x3y0 = { "G3x3y0", // class name
+ bases_G3x3y0, 6,
+ &(vtc_G3x3y0[0]), // expected_vtbl_contents
+ &(vtt_G3x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y0),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y0),10, //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 G3x3y1 : virtual E3x3 , F1 {
+ int ff;
+ ~G3x3y1(); // tgen
+ G3x3y1(); // tgen
+};
+//SIG(1 G3x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G3x3y1 ::~G3x3y1(){ note_dtor("G3x3y1", this);} // tgen
+G3x3y1 ::G3x3y1(){ note_ctor("G3x3y1", this);} // tgen
+
+static void Test_G3x3y1()
+{
+ extern Class_Descriptor cd_G3x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x3y1, buf);
+ G3x3y1 *dp, &lv = *(dp=new (buf) G3x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y1)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x3y1");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x3y1");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(32,20), "G3x3y1");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(64,40), "G3x3y1");
+ check_base_class_offset(lv, (E3x3*), ABISELECT(16,12), "G3x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x3y1.ff");
+ test_class_info(&lv, &cd_G3x3y1);
+ dp->~G3x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y1(Test_G3x3y1, "G3x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y1C1Ev();
+extern void _ZN6G3x3y1D1Ev();
+Name_Map name_map_G3x3y1[] = {
+ NSPAIR(_ZN6G3x3y1C1Ev),
+ NSPAIR(_ZN6G3x3y1D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x3y1[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI6G3x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x3y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y1[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y1[] = {
+ {&(_ZTV6G3x3y1[6]), 6,23},
+ {&(_ZTV6G3x3y1[12]), 12,23},
+ {&(_ZTV6G3x3y1[15]), 15,23},
+ {&(_ZTV6G3x3y1[18]), 18,23},
+ {&(_ZTV6G3x3y1[22]), 22,23},
+ {&(_tg__ZTV4E3x3__6G3x3y1[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y1[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y1[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x3y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y1[];
+extern VTBL_ENTRY _ZTV6G3x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y1[];
+Class_Descriptor cd_G3x3y1 = { "G3x3y1", // class name
+ bases_G3x3y1, 6,
+ &(vtc_G3x3y1[0]), // expected_vtbl_contents
+ &(vtt_G3x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y1),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y1),11, //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 G3x3y2 : E3x3 , virtual F1 {
+ int ff;
+ ~G3x3y2(); // tgen
+ G3x3y2(); // tgen
+};
+//SIG(1 G3x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x3y2 ::~G3x3y2(){ note_dtor("G3x3y2", this);} // tgen
+G3x3y2 ::G3x3y2(){ note_ctor("G3x3y2", this);} // tgen
+
+static void Test_G3x3y2()
+{
+ extern Class_Descriptor cd_G3x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x3y2, buf);
+ G3x3y2 *dp, &lv = *(dp=new (buf) G3x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y2)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "G3x3y2");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "G3x3y2");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(16,12), "G3x3y2");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(48,32), "G3x3y2");
+ check_base_class_offset(lv, (E3x3*), 0, "G3x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x3y2.ff");
+ test_class_info(&lv, &cd_G3x3y2);
+ dp->~G3x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y2(Test_G3x3y2, "G3x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y2C1Ev();
+extern void _ZN6G3x3y2D1Ev();
+Name_Map name_map_G3x3y2[] = {
+ NSPAIR(_ZN6G3x3y2C1Ev),
+ NSPAIR(_ZN6G3x3y2D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //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
+ 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
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x3y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y2[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y2[] = {
+ {&(_ZTV6G3x3y2[6]), 6,21},
+ {&(_tg__ZTV4E3x3__6G3x3y2[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y2[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y2[3]), 3,4},
+ {&(_ZTV6G3x3y2[9]), 9,21},
+ {&(_ZTV6G3x3y2[12]), 12,21},
+ {&(_ZTV6G3x3y2[16]), 16,21},
+ {&(_ZTV6G3x3y2[20]), 20,21},
+ {&(_tg__ZTV2C3__6G3x3y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y2[];
+extern VTBL_ENTRY _ZTV6G3x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y2[];
+Class_Descriptor cd_G3x3y2 = { "G3x3y2", // class name
+ bases_G3x3y2, 6,
+ &(vtc_G3x3y2[0]), // expected_vtbl_contents
+ &(vtt_G3x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y2),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y2),11, //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 G3x3y3 : virtual E3x3 , virtual F1 {
+ int ff;
+ ~G3x3y3(); // tgen
+ G3x3y3(); // tgen
+};
+//SIG(1 G3x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G3x3y3 ::~G3x3y3(){ note_dtor("G3x3y3", this);} // tgen
+G3x3y3 ::G3x3y3(){ note_ctor("G3x3y3", this);} // tgen
+
+static void Test_G3x3y3()
+{
+ extern Class_Descriptor cd_G3x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G3x3y3, buf);
+ G3x3y3 *dp, &lv = *(dp=new (buf) G3x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G3x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y3)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,28), "G3x3y3");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,20), "G3x3y3");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(32,16), "G3x3y3");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(64,36), "G3x3y3");
+ check_base_class_offset(lv, (E3x3*), ABISELECT(16,8), "G3x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G3x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x3y3.ff");
+ test_class_info(&lv, &cd_G3x3y3);
+ dp->~G3x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y3(Test_G3x3y3, "G3x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y3C1Ev();
+extern void _ZN6G3x3y3D1Ev();
+Name_Map name_map_G3x3y3[] = {
+ NSPAIR(_ZN6G3x3y3C1Ev),
+ NSPAIR(_ZN6G3x3y3D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x3y3[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 23, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI6G3x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y3[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y3[] = {
+ {&(_ZTV6G3x3y3[7]), 7,27},
+ {&(_ZTV6G3x3y3[12]), 12,27},
+ {&(_ZTV6G3x3y3[15]), 15,27},
+ {&(_ZTV6G3x3y3[18]), 18,27},
+ {&(_ZTV6G3x3y3[22]), 22,27},
+ {&(_ZTV6G3x3y3[26]), 26,27},
+ {&(_tg__ZTV4E3x3__6G3x3y3[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y3[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y3[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x3y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y3[];
+extern VTBL_ENTRY _ZTV6G3x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y3[];
+Class_Descriptor cd_G3x3y3 = { "G3x3y3", // class name
+ bases_G3x3y3, 6,
+ &(vtc_G3x3y3[0]), // expected_vtbl_contents
+ &(vtt_G3x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI6G3x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y3),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y3),12, //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 G3x3y4 : E3x3 , F0 {
+ int ff;
+ ~G3x3y4(); // tgen
+ G3x3y4(); // tgen
+};
+//SIG(1 G3x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x3y4 ::~G3x3y4(){ note_dtor("G3x3y4", this);} // tgen
+G3x3y4 ::G3x3y4(){ note_ctor("G3x3y4", this);} // tgen
+
+static void Test_G3x3y4()
+{
+ extern Class_Descriptor cd_G3x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x3y4, buf);
+ G3x3y4 *dp, &lv = *(dp=new (buf) G3x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y4)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x3y4");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x3y4");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(24,16), "G3x3y4");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(56,36), "G3x3y4");
+ check_base_class_offset(lv, (E3x3*), 0, "G3x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G3x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x3y4.ff");
+ test_class_info(&lv, &cd_G3x3y4);
+ dp->~G3x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y4(Test_G3x3y4, "G3x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y4C1Ev();
+extern void _ZN6G3x3y4D1Ev();
+Name_Map name_map_G3x3y4[] = {
+ NSPAIR(_ZN6G3x3y4C1Ev),
+ NSPAIR(_ZN6G3x3y4D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x3y4[] = {
+ // 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)
+ 7, //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(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_C3, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 12, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G3x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x3y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y4[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y4[] = {
+ {&(_ZTV6G3x3y4[5]), 5,16},
+ {&(_tg__ZTV4E3x3__6G3x3y4[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y4[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y4[3]), 3,4},
+ {&(_ZTV6G3x3y4[8]), 8,16},
+ {&(_ZTV6G3x3y4[11]), 11,16},
+ {&(_ZTV6G3x3y4[15]), 15,16},
+ {&(_tg__ZTV2C3__6G3x3y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y4[];
+extern VTBL_ENTRY _ZTV6G3x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y4[];
+Class_Descriptor cd_G3x3y4 = { "G3x3y4", // class name
+ bases_G3x3y4, 6,
+ &(vtc_G3x3y4[0]), // expected_vtbl_contents
+ &(vtt_G3x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y4),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y4),10, //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 G3x3y5 : virtual E3x3 , F0 {
+ int ff;
+ ~G3x3y5(); // tgen
+ G3x3y5(); // tgen
+};
+//SIG(1 G3x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x3y5 ::~G3x3y5(){ note_dtor("G3x3y5", this);} // tgen
+G3x3y5 ::G3x3y5(){ note_ctor("G3x3y5", this);} // tgen
+
+static void Test_G3x3y5()
+{
+ extern Class_Descriptor cd_G3x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x3y5, buf);
+ G3x3y5 *dp, &lv = *(dp=new (buf) G3x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y5)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x3y5");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x3y5");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(32,20), "G3x3y5");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(64,40), "G3x3y5");
+ check_base_class_offset(lv, (E3x3*), ABISELECT(16,12), "G3x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x3y5.ff");
+ test_class_info(&lv, &cd_G3x3y5);
+ dp->~G3x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y5(Test_G3x3y5, "G3x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y5C1Ev();
+extern void _ZN6G3x3y5D1Ev();
+Name_Map name_map_G3x3y5[] = {
+ NSPAIR(_ZN6G3x3y5C1Ev),
+ NSPAIR(_ZN6G3x3y5D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x3y5[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 18, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, 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
+ 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 _ZTI6G3x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x3y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y5[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y5[] = {
+ {&(_ZTV6G3x3y5[6]), 6,22},
+ {&(_ZTV6G3x3y5[11]), 11,22},
+ {&(_ZTV6G3x3y5[14]), 14,22},
+ {&(_ZTV6G3x3y5[17]), 17,22},
+ {&(_ZTV6G3x3y5[21]), 21,22},
+ {&(_tg__ZTV4E3x3__6G3x3y5[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y5[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y5[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x3y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y5[];
+extern VTBL_ENTRY _ZTV6G3x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y5[];
+Class_Descriptor cd_G3x3y5 = { "G3x3y5", // class name
+ bases_G3x3y5, 6,
+ &(vtc_G3x3y5[0]), // expected_vtbl_contents
+ &(vtt_G3x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y5),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y5),11, //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 G3x3y6 : E3x3 , virtual F0 {
+ int ff;
+ ~G3x3y6(); // tgen
+ G3x3y6(); // tgen
+};
+//SIG(1 G3x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x3y6 ::~G3x3y6(){ note_dtor("G3x3y6", this);} // tgen
+G3x3y6 ::G3x3y6(){ note_ctor("G3x3y6", this);} // tgen
+
+static void Test_G3x3y6()
+{
+ extern Class_Descriptor cd_G3x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x3y6, buf);
+ G3x3y6 *dp, &lv = *(dp=new (buf) G3x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y6)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "G3x3y6");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "G3x3y6");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(16,12), "G3x3y6");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(48,32), "G3x3y6");
+ check_base_class_offset(lv, (E3x3*), 0, "G3x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G3x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x3y6.ff");
+ test_class_info(&lv, &cd_G3x3y6);
+ dp->~G3x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y6(Test_G3x3y6, "G3x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y6C1Ev();
+extern void _ZN6G3x3y6D1Ev();
+Name_Map name_map_G3x3y6[] = {
+ NSPAIR(_ZN6G3x3y6C1Ev),
+ NSPAIR(_ZN6G3x3y6D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 9, //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
+ 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
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G3x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x3y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y6[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y6[] = {
+ {&(_ZTV6G3x3y6[6]), 6,17},
+ {&(_tg__ZTV4E3x3__6G3x3y6[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y6[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y6[3]), 3,4},
+ {&(_ZTV6G3x3y6[9]), 9,17},
+ {&(_ZTV6G3x3y6[12]), 12,17},
+ {&(_ZTV6G3x3y6[16]), 16,17},
+ {&(_tg__ZTV2C3__6G3x3y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y6[];
+extern VTBL_ENTRY _ZTV6G3x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y6[];
+Class_Descriptor cd_G3x3y6 = { "G3x3y6", // class name
+ bases_G3x3y6, 6,
+ &(vtc_G3x3y6[0]), // expected_vtbl_contents
+ &(vtt_G3x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y6),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y6),10, //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 G3x3y7 : virtual E3x3 , virtual F0 {
+ int ff;
+ ~G3x3y7(); // tgen
+ G3x3y7(); // tgen
+};
+//SIG(1 G3x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x3y7 ::~G3x3y7(){ note_dtor("G3x3y7", this);} // tgen
+G3x3y7 ::G3x3y7(){ note_ctor("G3x3y7", this);} // tgen
+
+static void Test_G3x3y7()
+{
+ extern Class_Descriptor cd_G3x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x3y7, buf);
+ G3x3y7 *dp, &lv = *(dp=new (buf) G3x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x3y7)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,28), "G3x3y7");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,20), "G3x3y7");
+ check_base_class_offset(lv, (C3*)(E3x3*), ABISELECT(32,16), "G3x3y7");
+ check_base_class_offset(lv, (D1*)(E3x3*), ABISELECT(64,36), "G3x3y7");
+ check_base_class_offset(lv, (E3x3*), ABISELECT(16,8), "G3x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G3x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x3y7.ff");
+ test_class_info(&lv, &cd_G3x3y7);
+ dp->~G3x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x3y7(Test_G3x3y7, "G3x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x3y7C1Ev();
+extern void _ZN6G3x3y7D1Ev();
+Name_Map name_map_G3x3y7[] = {
+ NSPAIR(_ZN6G3x3y7C1Ev),
+ NSPAIR(_ZN6G3x3y7D1Ev),
+ {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_E3x3;
+extern VTBL_ENTRY _ZTI4E3x3[];
+extern VTBL_ENTRY _ZTV4E3x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x3y7[] = {
+ // 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)
+ 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(40,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_C3, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G3x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G3x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x3y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x3y7[];
+static VTBL_ENTRY _tg__ZTV4E3x3__6G3x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x3__6G3x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x3__6G3x3y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E3x3__6G3x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x3y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x3y7[] = {
+ {&(_ZTV6G3x3y7[7]), 7,23},
+ {&(_ZTV6G3x3y7[12]), 12,23},
+ {&(_ZTV6G3x3y7[15]), 15,23},
+ {&(_ZTV6G3x3y7[18]), 18,23},
+ {&(_ZTV6G3x3y7[22]), 22,23},
+ {&(_tg__ZTV4E3x3__6G3x3y7[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x3__6G3x3y7[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x3__6G3x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E3x3__6G3x3y7[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x3y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x3y7[];
+extern VTBL_ENTRY _ZTV6G3x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x3y7[];
+Class_Descriptor cd_G3x3y7 = { "G3x3y7", // class name
+ bases_G3x3y7, 6,
+ &(vtc_G3x3y7[0]), // expected_vtbl_contents
+ &(vtt_G3x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x3y7),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x3y7),11, //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 E4x3 : virtual C4 , virtual D1 {
+ int fd;
+ ~E4x3(); // tgen
+ E4x3(); // tgen
+};
+//SIG(-1 E4x3) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E4x3 ::~E4x3(){ note_dtor("E4x3", this);} // tgen
+E4x3 ::E4x3(){ note_ctor("E4x3", this);} // tgen
+
+static void Test_E4x3()
+{
+ extern Class_Descriptor cd_E4x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E4x3, buf);
+ E4x3 *dp, &lv = *(dp=new (buf) E4x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E4x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x3)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,16), "E4x3");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,8), "E4x3");
+ check_base_class_offset(lv, (C4*), ABISELECT(16,8), "E4x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E4x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E4x3.fd");
+ test_class_info(&lv, &cd_E4x3);
+ dp->~E4x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x3(Test_E4x3, "E4x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E4x3C1Ev();
+extern void _ZN4E4x3D1Ev();
+Name_Map name_map_E4x3[] = {
+ NSPAIR(_ZN4E4x3C1Ev),
+ NSPAIR(_ZN4E4x3D1Ev),
+ {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_E4x3[] = {
+ // 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
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 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_D1, ABISELECT(40,24), //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 _ZTI4E4x3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E4x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x3[];
+static VTT_ENTRY vtt_E4x3[] = {
+ {&(_ZTV4E4x3[4]), 4,12},
+ {&(_ZTV4E4x3[7]), 7,12},
+ {&(_ZTV4E4x3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+Class_Descriptor cd_E4x3 = { "E4x3", // class name
+ bases_E4x3, 4,
+ &(vtc_E4x3[0]), // expected_vtbl_contents
+ &(vtt_E4x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E4x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x3),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 G4x3y0 : E4x3 , F1 {
+ int ff;
+ ~G4x3y0(); // tgen
+ G4x3y0(); // tgen
+};
+//SIG(1 G4x3y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x3y0 ::~G4x3y0(){ note_dtor("G4x3y0", this);} // tgen
+G4x3y0 ::G4x3y0(){ note_ctor("G4x3y0", this);} // tgen
+
+static void Test_G4x3y0()
+{
+ extern Class_Descriptor cd_G4x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x3y0, buf);
+ G4x3y0 *dp, &lv = *(dp=new (buf) G4x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y0)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x3y0");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x3y0");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(32,20), "G4x3y0");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(56,36), "G4x3y0");
+ check_base_class_offset(lv, (E4x3*), 0, "G4x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G4x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G4x3y0.ff");
+ test_class_info(&lv, &cd_G4x3y0);
+ dp->~G4x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y0(Test_G4x3y0, "G4x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y0C1Ev();
+extern void _ZN6G4x3y0D1Ev();
+Name_Map name_map_G4x3y0[] = {
+ NSPAIR(_ZN6G4x3y0C1Ev),
+ NSPAIR(_ZN6G4x3y0D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_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(32,20), //bcp->offset
+ -1, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y0[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y0[] = {
+ {&(_ZTV6G4x3y0[4]), 4,15},
+ {&(_tg__ZTV4E4x3__6G4x3y0[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y0[3]), 3,4},
+ {&(_ZTV6G4x3y0[10]), 10,15},
+ {&(_ZTV6G4x3y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G4x3y0[];
+extern VTBL_ENTRY _ZTV6G4x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y0[];
+Class_Descriptor cd_G4x3y0 = { "G4x3y0", // class name
+ bases_G4x3y0, 6,
+ &(vtc_G4x3y0[0]), // expected_vtbl_contents
+ &(vtt_G4x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y0),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 G4x3y1 : virtual E4x3 , F1 {
+ int ff;
+ ~G4x3y1(); // tgen
+ G4x3y1(); // tgen
+};
+//SIG(1 G4x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G4x3y1 ::~G4x3y1(){ note_dtor("G4x3y1", this);} // tgen
+G4x3y1 ::G4x3y1(){ note_ctor("G4x3y1", this);} // tgen
+
+static void Test_G4x3y1()
+{
+ extern Class_Descriptor cd_G4x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x3y1, buf);
+ G4x3y1 *dp, &lv = *(dp=new (buf) G4x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y1)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x3y1");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x3y1");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(32,20), "G4x3y1");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(56,36), "G4x3y1");
+ check_base_class_offset(lv, (E4x3*), ABISELECT(16,12), "G4x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x3y1.ff");
+ test_class_info(&lv, &cd_G4x3y1);
+ dp->~G4x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y1(Test_G4x3y1, "G4x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y1C1Ev();
+extern void _ZN6G4x3y1D1Ev();
+Name_Map name_map_G4x3y1[] = {
+ NSPAIR(_ZN6G4x3y1C1Ev),
+ NSPAIR(_ZN6G4x3y1D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI6G4x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y1[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y1[] = {
+ {&(_ZTV6G4x3y1[5]), 5,18},
+ {&(_ZTV6G4x3y1[10]), 10,18},
+ {&(_ZTV6G4x3y1[13]), 13,18},
+ {&(_ZTV6G4x3y1[17]), 17,18},
+ {&(_tg__ZTV4E4x3__6G4x3y1[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x3y1[];
+extern VTBL_ENTRY _ZTV6G4x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y1[];
+Class_Descriptor cd_G4x3y1 = { "G4x3y1", // class name
+ bases_G4x3y1, 6,
+ &(vtc_G4x3y1[0]), // expected_vtbl_contents
+ &(vtt_G4x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y1),7, //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 G4x3y2 : E4x3 , virtual F1 {
+ int ff;
+ ~G4x3y2(); // tgen
+ G4x3y2(); // tgen
+};
+//SIG(1 G4x3y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x3y2 ::~G4x3y2(){ note_dtor("G4x3y2", this);} // tgen
+G4x3y2 ::G4x3y2(){ note_ctor("G4x3y2", this);} // tgen
+
+static void Test_G4x3y2()
+{
+ extern Class_Descriptor cd_G4x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x3y2, buf);
+ G4x3y2 *dp, &lv = *(dp=new (buf) G4x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y2)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "G4x3y2");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "G4x3y2");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(16,12), "G4x3y2");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(40,28), "G4x3y2");
+ check_base_class_offset(lv, (E4x3*), 0, "G4x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x3y2.ff");
+ test_class_info(&lv, &cd_G4x3y2);
+ dp->~G4x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y2(Test_G4x3y2, "G4x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y2C1Ev();
+extern void _ZN6G4x3y2D1Ev();
+Name_Map name_map_G4x3y2[] = {
+ NSPAIR(_ZN6G4x3y2C1Ev),
+ NSPAIR(_ZN6G4x3y2D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x3y2[] = {
+ // 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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x3y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y2[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y2[] = {
+ {&(_ZTV6G4x3y2[5]), 5,17},
+ {&(_tg__ZTV4E4x3__6G4x3y2[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y2[3]), 3,4},
+ {&(_ZTV6G4x3y2[8]), 8,17},
+ {&(_ZTV6G4x3y2[12]), 12,17},
+ {&(_ZTV6G4x3y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI6G4x3y2[];
+extern VTBL_ENTRY _ZTV6G4x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y2[];
+Class_Descriptor cd_G4x3y2 = { "G4x3y2", // class name
+ bases_G4x3y2, 6,
+ &(vtc_G4x3y2[0]), // expected_vtbl_contents
+ &(vtt_G4x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y2),7, //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 G4x3y3 : virtual E4x3 , virtual F1 {
+ int ff;
+ ~G4x3y3(); // tgen
+ G4x3y3(); // tgen
+};
+//SIG(1 G4x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G4x3y3 ::~G4x3y3(){ note_dtor("G4x3y3", this);} // tgen
+G4x3y3 ::G4x3y3(){ note_ctor("G4x3y3", this);} // tgen
+
+static void Test_G4x3y3()
+{
+ extern Class_Descriptor cd_G4x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G4x3y3, buf);
+ G4x3y3 *dp, &lv = *(dp=new (buf) G4x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G4x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y3)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,24), "G4x3y3");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,16), "G4x3y3");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(32,16), "G4x3y3");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(56,32), "G4x3y3");
+ check_base_class_offset(lv, (E4x3*), ABISELECT(16,8), "G4x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G4x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x3y3.ff");
+ test_class_info(&lv, &cd_G4x3y3);
+ dp->~G4x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y3(Test_G4x3y3, "G4x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y3C1Ev();
+extern void _ZN6G4x3y3D1Ev();
+Name_Map name_map_G4x3y3[] = {
+ NSPAIR(_ZN6G4x3y3C1Ev),
+ NSPAIR(_ZN6G4x3y3D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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_B1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI6G4x3y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G4x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y3[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y3[] = {
+ {&(_ZTV6G4x3y3[6]), 6,22},
+ {&(_ZTV6G4x3y3[10]), 10,22},
+ {&(_ZTV6G4x3y3[13]), 13,22},
+ {&(_ZTV6G4x3y3[17]), 17,22},
+ {&(_ZTV6G4x3y3[21]), 21,22},
+ {&(_tg__ZTV4E4x3__6G4x3y3[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x3y3[];
+extern VTBL_ENTRY _ZTV6G4x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y3[];
+Class_Descriptor cd_G4x3y3 = { "G4x3y3", // class name
+ bases_G4x3y3, 6,
+ &(vtc_G4x3y3[0]), // expected_vtbl_contents
+ &(vtt_G4x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G4x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y3),8, //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 G4x3y4 : E4x3 , F0 {
+ int ff;
+ ~G4x3y4(); // tgen
+ G4x3y4(); // tgen
+};
+//SIG(1 G4x3y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x3y4 ::~G4x3y4(){ note_dtor("G4x3y4", this);} // tgen
+G4x3y4 ::G4x3y4(){ note_ctor("G4x3y4", this);} // tgen
+
+static void Test_G4x3y4()
+{
+ extern Class_Descriptor cd_G4x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x3y4, buf);
+ G4x3y4 *dp, &lv = *(dp=new (buf) G4x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y4)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x3y4");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x3y4");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(24,16), "G4x3y4");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(48,32), "G4x3y4");
+ check_base_class_offset(lv, (E4x3*), 0, "G4x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G4x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x3y4.ff");
+ test_class_info(&lv, &cd_G4x3y4);
+ dp->~G4x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y4(Test_G4x3y4, "G4x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y4C1Ev();
+extern void _ZN6G4x3y4D1Ev();
+Name_Map name_map_G4x3y4[] = {
+ NSPAIR(_ZN6G4x3y4C1Ev),
+ NSPAIR(_ZN6G4x3y4D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x3y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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(24,16), //bcp->offset
+ -1, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, 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(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 _ZTI6G4x3y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y4[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y4[] = {
+ {&(_ZTV6G4x3y4[4]), 4,12},
+ {&(_tg__ZTV4E4x3__6G4x3y4[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y4[3]), 3,4},
+ {&(_ZTV6G4x3y4[7]), 7,12},
+ {&(_ZTV6G4x3y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G4x3y4[];
+extern VTBL_ENTRY _ZTV6G4x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y4[];
+Class_Descriptor cd_G4x3y4 = { "G4x3y4", // class name
+ bases_G4x3y4, 6,
+ &(vtc_G4x3y4[0]), // expected_vtbl_contents
+ &(vtt_G4x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y4),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 G4x3y5 : virtual E4x3 , F0 {
+ int ff;
+ ~G4x3y5(); // tgen
+ G4x3y5(); // tgen
+};
+//SIG(1 G4x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x3y5 ::~G4x3y5(){ note_dtor("G4x3y5", this);} // tgen
+G4x3y5 ::G4x3y5(){ note_ctor("G4x3y5", this);} // tgen
+
+static void Test_G4x3y5()
+{
+ extern Class_Descriptor cd_G4x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x3y5, buf);
+ G4x3y5 *dp, &lv = *(dp=new (buf) G4x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y5)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x3y5");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x3y5");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(32,20), "G4x3y5");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(56,36), "G4x3y5");
+ check_base_class_offset(lv, (E4x3*), ABISELECT(16,12), "G4x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x3y5.ff");
+ test_class_info(&lv, &cd_G4x3y5);
+ dp->~G4x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y5(Test_G4x3y5, "G4x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y5C1Ev();
+extern void _ZN6G4x3y5D1Ev();
+Name_Map name_map_G4x3y5[] = {
+ NSPAIR(_ZN6G4x3y5C1Ev),
+ NSPAIR(_ZN6G4x3y5D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, 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_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 _ZTI6G4x3y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y5[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y5[] = {
+ {&(_ZTV6G4x3y5[5]), 5,17},
+ {&(_ZTV6G4x3y5[9]), 9,17},
+ {&(_ZTV6G4x3y5[12]), 12,17},
+ {&(_ZTV6G4x3y5[16]), 16,17},
+ {&(_tg__ZTV4E4x3__6G4x3y5[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x3y5[];
+extern VTBL_ENTRY _ZTV6G4x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y5[];
+Class_Descriptor cd_G4x3y5 = { "G4x3y5", // class name
+ bases_G4x3y5, 6,
+ &(vtc_G4x3y5[0]), // expected_vtbl_contents
+ &(vtt_G4x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y5),7, //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 G4x3y6 : E4x3 , virtual F0 {
+ int ff;
+ ~G4x3y6(); // tgen
+ G4x3y6(); // tgen
+};
+//SIG(1 G4x3y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x3y6 ::~G4x3y6(){ note_dtor("G4x3y6", this);} // tgen
+G4x3y6 ::G4x3y6(){ note_ctor("G4x3y6", this);} // tgen
+
+static void Test_G4x3y6()
+{
+ extern Class_Descriptor cd_G4x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x3y6, buf);
+ G4x3y6 *dp, &lv = *(dp=new (buf) G4x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y6)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "G4x3y6");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "G4x3y6");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(16,12), "G4x3y6");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(40,28), "G4x3y6");
+ check_base_class_offset(lv, (E4x3*), 0, "G4x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G4x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x3y6.ff");
+ test_class_info(&lv, &cd_G4x3y6);
+ dp->~G4x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y6(Test_G4x3y6, "G4x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y6C1Ev();
+extern void _ZN6G4x3y6D1Ev();
+Name_Map name_map_G4x3y6[] = {
+ NSPAIR(_ZN6G4x3y6C1Ev),
+ NSPAIR(_ZN6G4x3y6D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x3y6[] = {
+ // 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
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, 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 _ZTI6G4x3y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y6[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y6[] = {
+ {&(_ZTV6G4x3y6[5]), 5,13},
+ {&(_tg__ZTV4E4x3__6G4x3y6[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y6[3]), 3,4},
+ {&(_ZTV6G4x3y6[8]), 8,13},
+ {&(_ZTV6G4x3y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G4x3y6[];
+extern VTBL_ENTRY _ZTV6G4x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y6[];
+Class_Descriptor cd_G4x3y6 = { "G4x3y6", // class name
+ bases_G4x3y6, 6,
+ &(vtc_G4x3y6[0]), // expected_vtbl_contents
+ &(vtt_G4x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y6),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 G4x3y7 : virtual E4x3 , virtual F0 {
+ int ff;
+ ~G4x3y7(); // tgen
+ G4x3y7(); // tgen
+};
+//SIG(1 G4x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x3y7 ::~G4x3y7(){ note_dtor("G4x3y7", this);} // tgen
+G4x3y7 ::G4x3y7(){ note_ctor("G4x3y7", this);} // tgen
+
+static void Test_G4x3y7()
+{
+ extern Class_Descriptor cd_G4x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x3y7, buf);
+ G4x3y7 *dp, &lv = *(dp=new (buf) G4x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x3y7)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,24), "G4x3y7");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,16), "G4x3y7");
+ check_base_class_offset(lv, (C4*)(E4x3*), ABISELECT(32,16), "G4x3y7");
+ check_base_class_offset(lv, (D1*)(E4x3*), ABISELECT(56,32), "G4x3y7");
+ check_base_class_offset(lv, (E4x3*), ABISELECT(16,8), "G4x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G4x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x3y7.ff");
+ test_class_info(&lv, &cd_G4x3y7);
+ dp->~G4x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x3y7(Test_G4x3y7, "G4x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x3y7C1Ev();
+extern void _ZN6G4x3y7D1Ev();
+Name_Map name_map_G4x3y7[] = {
+ NSPAIR(_ZN6G4x3y7C1Ev),
+ NSPAIR(_ZN6G4x3y7D1Ev),
+ {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_E4x3;
+extern VTBL_ENTRY _ZTI4E4x3[];
+extern VTBL_ENTRY _ZTV4E4x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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_B1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI6G4x3y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G4x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x3y7[];
+static VTBL_ENTRY _tg__ZTV4E4x3__6G4x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x3__6G4x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E4x3__6G4x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G4x3y7[] = {
+ {&(_ZTV6G4x3y7[6]), 6,18},
+ {&(_ZTV6G4x3y7[10]), 10,18},
+ {&(_ZTV6G4x3y7[13]), 13,18},
+ {&(_ZTV6G4x3y7[17]), 17,18},
+ {&(_tg__ZTV4E4x3__6G4x3y7[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x3__6G4x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E4x3__6G4x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x3y7[];
+extern VTBL_ENTRY _ZTV6G4x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x3y7[];
+Class_Descriptor cd_G4x3y7 = { "G4x3y7", // class name
+ bases_G4x3y7, 6,
+ &(vtc_G4x3y7[0]), // expected_vtbl_contents
+ &(vtt_G4x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x3y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x3y7),7, //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 E5x3 : virtual C5 , virtual D1 {
+ int fd;
+ ~E5x3(); // tgen
+ E5x3(); // tgen
+};
+//SIG(-1 E5x3) C1{ VBC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E5x3 ::~E5x3(){ note_dtor("E5x3", this);} // tgen
+E5x3 ::E5x3(){ note_ctor("E5x3", this);} // tgen
+
+static void Test_E5x3()
+{
+ extern Class_Descriptor cd_E5x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E5x3, buf);
+ E5x3 *dp, &lv = *(dp=new (buf) E5x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E5x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x3)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,8), "E5x3");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,16), "E5x3");
+ check_base_class_offset(lv, (C5*), ABISELECT(16,8), "E5x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E5x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E5x3.fd");
+ test_class_info(&lv, &cd_E5x3);
+ dp->~E5x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x3(Test_E5x3, "E5x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN4E5x3C1Ev();
+extern void _ZN4E5x3D1Ev();
+Name_Map name_map_E5x3[] = {
+ NSPAIR(_ZN4E5x3C1Ev),
+ NSPAIR(_ZN4E5x3D1Ev),
+ {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_E5x3[] = {
+ // 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)
+ 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
+ 3, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E5x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x3[];
+static VTT_ENTRY vtt_E5x3[] = {
+ {&(_ZTV4E5x3[4]), 4,15},
+ {&(_ZTV4E5x3[7]), 7,15},
+ {&(_ZTV4E5x3[10]), 10,15},
+ {&(_ZTV4E5x3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+Class_Descriptor cd_E5x3 = { "E5x3", // class name
+ bases_E5x3, 4,
+ &(vtc_E5x3[0]), // expected_vtbl_contents
+ &(vtt_E5x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI4E5x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x3),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 G5x3y0 : E5x3 , F1 {
+ int ff;
+ ~G5x3y0(); // tgen
+ G5x3y0(); // tgen
+};
+//SIG(1 G5x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x3y0 ::~G5x3y0(){ note_dtor("G5x3y0", this);} // tgen
+G5x3y0 ::G5x3y0(){ note_ctor("G5x3y0", this);} // tgen
+
+static void Test_G5x3y0()
+{
+ extern Class_Descriptor cd_G5x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x3y0, buf);
+ G5x3y0 *dp, &lv = *(dp=new (buf) G5x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y0)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x3y0");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x3y0");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(32,20), "G5x3y0");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(64,40), "G5x3y0");
+ check_base_class_offset(lv, (E5x3*), 0, "G5x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G5x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G5x3y0.ff");
+ test_class_info(&lv, &cd_G5x3y0);
+ dp->~G5x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y0(Test_G5x3y0, "G5x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y0C1Ev();
+extern void _ZN6G5x3y0D1Ev();
+Name_Map name_map_G5x3y0[] = {
+ NSPAIR(_ZN6G5x3y0C1Ev),
+ NSPAIR(_ZN6G5x3y0D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 3, //num_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,28), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y0[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y0[] = {
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y0[] = {
+ {&(_ZTV6G5x3y0[4]), 4,18},
+ {&(_tg__ZTV4E5x3__6G5x3y0[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y0[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y0[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y0[3]), 3,4},
+ {&(_ZTV6G5x3y0[10]), 10,18},
+ {&(_ZTV6G5x3y0[13]), 13,18},
+ {&(_ZTV6G5x3y0[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI6G5x3y0[];
+extern VTBL_ENTRY _ZTV6G5x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y0[];
+Class_Descriptor cd_G5x3y0 = { "G5x3y0", // class name
+ bases_G5x3y0, 6,
+ &(vtc_G5x3y0[0]), // expected_vtbl_contents
+ &(vtt_G5x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y0),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y0),8, //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 G5x3y1 : virtual E5x3 , F1 {
+ int ff;
+ ~G5x3y1(); // tgen
+ G5x3y1(); // tgen
+};
+//SIG(1 G5x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G5x3y1 ::~G5x3y1(){ note_dtor("G5x3y1", this);} // tgen
+G5x3y1 ::G5x3y1(){ note_ctor("G5x3y1", this);} // tgen
+
+static void Test_G5x3y1()
+{
+ extern Class_Descriptor cd_G5x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x3y1, buf);
+ G5x3y1 *dp, &lv = *(dp=new (buf) G5x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y1)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x3y1");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x3y1");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(32,20), "G5x3y1");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(64,40), "G5x3y1");
+ check_base_class_offset(lv, (E5x3*), ABISELECT(16,12), "G5x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x3y1.ff");
+ test_class_info(&lv, &cd_G5x3y1);
+ dp->~G5x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y1(Test_G5x3y1, "G5x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y1C1Ev();
+extern void _ZN6G5x3y1D1Ev();
+Name_Map name_map_G5x3y1[] = {
+ NSPAIR(_ZN6G5x3y1C1Ev),
+ NSPAIR(_ZN6G5x3y1D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, ABISELECT(16,12), //bcp->offset
+ 6, //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, 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 _ZTI6G5x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y1[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y1[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y1[] = {
+ {&(_ZTV6G5x3y1[5]), 5,21},
+ {&(_ZTV6G5x3y1[10]), 10,21},
+ {&(_ZTV6G5x3y1[13]), 13,21},
+ {&(_ZTV6G5x3y1[16]), 16,21},
+ {&(_ZTV6G5x3y1[20]), 20,21},
+ {&(_tg__ZTV4E5x3__6G5x3y1[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y1[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y1[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x3y1[];
+extern VTBL_ENTRY _ZTV6G5x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y1[];
+Class_Descriptor cd_G5x3y1 = { "G5x3y1", // class name
+ bases_G5x3y1, 6,
+ &(vtc_G5x3y1[0]), // expected_vtbl_contents
+ &(vtt_G5x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y1),9, //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 G5x3y2 : E5x3 , virtual F1 {
+ int ff;
+ ~G5x3y2(); // tgen
+ G5x3y2(); // tgen
+};
+//SIG(1 G5x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x3y2 ::~G5x3y2(){ note_dtor("G5x3y2", this);} // tgen
+G5x3y2 ::G5x3y2(){ note_ctor("G5x3y2", this);} // tgen
+
+static void Test_G5x3y2()
+{
+ extern Class_Descriptor cd_G5x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x3y2, buf);
+ G5x3y2 *dp, &lv = *(dp=new (buf) G5x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y2)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "G5x3y2");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "G5x3y2");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(16,12), "G5x3y2");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(48,32), "G5x3y2");
+ check_base_class_offset(lv, (E5x3*), 0, "G5x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G5x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x3y2.ff");
+ test_class_info(&lv, &cd_G5x3y2);
+ dp->~G5x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y2(Test_G5x3y2, "G5x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y2C1Ev();
+extern void _ZN6G5x3y2D1Ev();
+Name_Map name_map_G5x3y2[] = {
+ NSPAIR(_ZN6G5x3y2C1Ev),
+ NSPAIR(_ZN6G5x3y2D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 9, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,12), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 12, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 16, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y2[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y2[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y2[] = {
+ {&(_ZTV6G5x3y2[5]), 5,20},
+ {&(_tg__ZTV4E5x3__6G5x3y2[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y2[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y2[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y2[3]), 3,4},
+ {&(_ZTV6G5x3y2[8]), 8,20},
+ {&(_ZTV6G5x3y2[11]), 11,20},
+ {&(_ZTV6G5x3y2[15]), 15,20},
+ {&(_ZTV6G5x3y2[19]), 19,20},
+};
+extern VTBL_ENTRY _ZTI6G5x3y2[];
+extern VTBL_ENTRY _ZTV6G5x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y2[];
+Class_Descriptor cd_G5x3y2 = { "G5x3y2", // class name
+ bases_G5x3y2, 6,
+ &(vtc_G5x3y2[0]), // expected_vtbl_contents
+ &(vtt_G5x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y2),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y2),9, //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 G5x3y3 : virtual E5x3 , virtual F1 {
+ int ff;
+ ~G5x3y3(); // tgen
+ G5x3y3(); // tgen
+};
+//SIG(1 G5x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G5x3y3 ::~G5x3y3(){ note_dtor("G5x3y3", this);} // tgen
+G5x3y3 ::G5x3y3(){ note_ctor("G5x3y3", this);} // tgen
+
+static void Test_G5x3y3()
+{
+ extern Class_Descriptor cd_G5x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G5x3y3, buf);
+ G5x3y3 *dp, &lv = *(dp=new (buf) G5x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G5x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y3)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,16), "G5x3y3");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,24), "G5x3y3");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(32,16), "G5x3y3");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(64,36), "G5x3y3");
+ check_base_class_offset(lv, (E5x3*), ABISELECT(16,8), "G5x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G5x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x3y3.ff");
+ test_class_info(&lv, &cd_G5x3y3);
+ dp->~G5x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y3(Test_G5x3y3, "G5x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y3C1Ev();
+extern void _ZN6G5x3y3D1Ev();
+Name_Map name_map_G5x3y3[] = {
+ NSPAIR(_ZN6G5x3y3C1Ev),
+ NSPAIR(_ZN6G5x3y3D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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,24), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 21, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI6G5x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y3[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y3[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y3[] = {
+ {&(_ZTV6G5x3y3[6]), 6,25},
+ {&(_ZTV6G5x3y3[10]), 10,25},
+ {&(_ZTV6G5x3y3[13]), 13,25},
+ {&(_ZTV6G5x3y3[16]), 16,25},
+ {&(_ZTV6G5x3y3[20]), 20,25},
+ {&(_ZTV6G5x3y3[24]), 24,25},
+ {&(_tg__ZTV4E5x3__6G5x3y3[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y3[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y3[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x3y3[];
+extern VTBL_ENTRY _ZTV6G5x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y3[];
+Class_Descriptor cd_G5x3y3 = { "G5x3y3", // class name
+ bases_G5x3y3, 6,
+ &(vtc_G5x3y3[0]), // expected_vtbl_contents
+ &(vtt_G5x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI6G5x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y3),10, //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 G5x3y4 : E5x3 , F0 {
+ int ff;
+ ~G5x3y4(); // tgen
+ G5x3y4(); // tgen
+};
+//SIG(1 G5x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x3y4 ::~G5x3y4(){ note_dtor("G5x3y4", this);} // tgen
+G5x3y4 ::G5x3y4(){ note_ctor("G5x3y4", this);} // tgen
+
+static void Test_G5x3y4()
+{
+ extern Class_Descriptor cd_G5x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x3y4, buf);
+ G5x3y4 *dp, &lv = *(dp=new (buf) G5x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y4)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x3y4");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x3y4");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(24,16), "G5x3y4");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(56,36), "G5x3y4");
+ check_base_class_offset(lv, (E5x3*), 0, "G5x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G5x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x3y4.ff");
+ test_class_info(&lv, &cd_G5x3y4);
+ dp->~G5x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y4(Test_G5x3y4, "G5x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y4C1Ev();
+extern void _ZN6G5x3y4D1Ev();
+Name_Map name_map_G5x3y4[] = {
+ NSPAIR(_ZN6G5x3y4C1Ev),
+ NSPAIR(_ZN6G5x3y4D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,16), //bcp->offset
+ 4, //bcp->virtual_function_table_offset
+ 3, //num_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,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(24,16), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, 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_F0, 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 _ZTI6G5x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y4[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y4[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y4[] = {
+ {&(_ZTV6G5x3y4[4]), 4,15},
+ {&(_tg__ZTV4E5x3__6G5x3y4[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y4[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y4[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y4[3]), 3,4},
+ {&(_ZTV6G5x3y4[7]), 7,15},
+ {&(_ZTV6G5x3y4[10]), 10,15},
+ {&(_ZTV6G5x3y4[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G5x3y4[];
+extern VTBL_ENTRY _ZTV6G5x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y4[];
+Class_Descriptor cd_G5x3y4 = { "G5x3y4", // class name
+ bases_G5x3y4, 6,
+ &(vtc_G5x3y4[0]), // expected_vtbl_contents
+ &(vtt_G5x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y4),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y4),8, //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 G5x3y5 : virtual E5x3 , F0 {
+ int ff;
+ ~G5x3y5(); // tgen
+ G5x3y5(); // tgen
+};
+//SIG(1 G5x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x3y5 ::~G5x3y5(){ note_dtor("G5x3y5", this);} // tgen
+G5x3y5 ::G5x3y5(){ note_ctor("G5x3y5", this);} // tgen
+
+static void Test_G5x3y5()
+{
+ extern Class_Descriptor cd_G5x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x3y5, buf);
+ G5x3y5 *dp, &lv = *(dp=new (buf) G5x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y5)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x3y5");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x3y5");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(32,20), "G5x3y5");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(64,40), "G5x3y5");
+ check_base_class_offset(lv, (E5x3*), ABISELECT(16,12), "G5x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x3y5.ff");
+ test_class_info(&lv, &cd_G5x3y5);
+ dp->~G5x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y5(Test_G5x3y5, "G5x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y5C1Ev();
+extern void _ZN6G5x3y5D1Ev();
+Name_Map name_map_G5x3y5[] = {
+ NSPAIR(_ZN6G5x3y5C1Ev),
+ NSPAIR(_ZN6G5x3y5D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_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,28), //bcp->offset
+ 13, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,20), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 16, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, 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
+ 6, //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 _ZTI6G5x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y5[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y5[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y5[] = {
+ {&(_ZTV6G5x3y5[5]), 5,20},
+ {&(_ZTV6G5x3y5[9]), 9,20},
+ {&(_ZTV6G5x3y5[12]), 12,20},
+ {&(_ZTV6G5x3y5[15]), 15,20},
+ {&(_ZTV6G5x3y5[19]), 19,20},
+ {&(_tg__ZTV4E5x3__6G5x3y5[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y5[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y5[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x3y5[];
+extern VTBL_ENTRY _ZTV6G5x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y5[];
+Class_Descriptor cd_G5x3y5 = { "G5x3y5", // class name
+ bases_G5x3y5, 6,
+ &(vtc_G5x3y5[0]), // expected_vtbl_contents
+ &(vtt_G5x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y5),9, //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 G5x3y6 : E5x3 , virtual F0 {
+ int ff;
+ ~G5x3y6(); // tgen
+ G5x3y6(); // tgen
+};
+//SIG(1 G5x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x3y6 ::~G5x3y6(){ note_dtor("G5x3y6", this);} // tgen
+G5x3y6 ::G5x3y6(){ note_ctor("G5x3y6", this);} // tgen
+
+static void Test_G5x3y6()
+{
+ extern Class_Descriptor cd_G5x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x3y6, buf);
+ G5x3y6 *dp, &lv = *(dp=new (buf) G5x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y6)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "G5x3y6");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "G5x3y6");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(16,12), "G5x3y6");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(48,32), "G5x3y6");
+ check_base_class_offset(lv, (E5x3*), 0, "G5x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G5x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x3y6.ff");
+ test_class_info(&lv, &cd_G5x3y6);
+ dp->~G5x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y6(Test_G5x3y6, "G5x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y6C1Ev();
+extern void _ZN6G5x3y6D1Ev();
+Name_Map name_map_G5x3y6[] = {
+ NSPAIR(_ZN6G5x3y6C1Ev),
+ NSPAIR(_ZN6G5x3y6D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_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
+ 9, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(16,12), //bcp->offset
+ -1, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 12, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, 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_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 _ZTI6G5x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y6[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y6[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y6[] = {
+ {&(_ZTV6G5x3y6[5]), 5,16},
+ {&(_tg__ZTV4E5x3__6G5x3y6[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y6[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y6[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y6[3]), 3,4},
+ {&(_ZTV6G5x3y6[8]), 8,16},
+ {&(_ZTV6G5x3y6[11]), 11,16},
+ {&(_ZTV6G5x3y6[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G5x3y6[];
+extern VTBL_ENTRY _ZTV6G5x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y6[];
+Class_Descriptor cd_G5x3y6 = { "G5x3y6", // class name
+ bases_G5x3y6, 6,
+ &(vtc_G5x3y6[0]), // expected_vtbl_contents
+ &(vtt_G5x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y6),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y6),8, //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 G5x3y7 : virtual E5x3 , virtual F0 {
+ int ff;
+ ~G5x3y7(); // tgen
+ G5x3y7(); // tgen
+};
+//SIG(1 G5x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x3y7 ::~G5x3y7(){ note_dtor("G5x3y7", this);} // tgen
+G5x3y7 ::G5x3y7(){ note_ctor("G5x3y7", this);} // tgen
+
+static void Test_G5x3y7()
+{
+ extern Class_Descriptor cd_G5x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x3y7, buf);
+ G5x3y7 *dp, &lv = *(dp=new (buf) G5x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x3y7)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,16), "G5x3y7");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,24), "G5x3y7");
+ check_base_class_offset(lv, (C5*)(E5x3*), ABISELECT(32,16), "G5x3y7");
+ check_base_class_offset(lv, (D1*)(E5x3*), ABISELECT(64,36), "G5x3y7");
+ check_base_class_offset(lv, (E5x3*), ABISELECT(16,8), "G5x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G5x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x3y7.ff");
+ test_class_info(&lv, &cd_G5x3y7);
+ dp->~G5x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x3y7(Test_G5x3y7, "G5x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x3y7C1Ev();
+extern void _ZN6G5x3y7D1Ev();
+Name_Map name_map_G5x3y7[] = {
+ NSPAIR(_ZN6G5x3y7C1Ev),
+ NSPAIR(_ZN6G5x3y7D1Ev),
+ {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_E5x3;
+extern VTBL_ENTRY _ZTI4E5x3[];
+extern VTBL_ENTRY _ZTV4E5x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_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,24), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C5, ABISELECT(32,16), //bcp->offset
+ -1, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x3, ABISELECT(16,8), //bcp->offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G5x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G5x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x3y7[];
+static VTBL_ENTRY _tg__ZTV4E5x3__6G5x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x3__6G5x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x3__6G5x3y7[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E5x3__6G5x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G5x3y7[] = {
+ {&(_ZTV6G5x3y7[6]), 6,21},
+ {&(_ZTV6G5x3y7[10]), 10,21},
+ {&(_ZTV6G5x3y7[13]), 13,21},
+ {&(_ZTV6G5x3y7[16]), 16,21},
+ {&(_ZTV6G5x3y7[20]), 20,21},
+ {&(_tg__ZTV4E5x3__6G5x3y7[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x3__6G5x3y7[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x3__6G5x3y7[2]), 2,3},
+ {&(_tg__ZTV2D1__4E5x3__6G5x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x3y7[];
+extern VTBL_ENTRY _ZTV6G5x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x3y7[];
+Class_Descriptor cd_G5x3y7 = { "G5x3y7", // class name
+ bases_G5x3y7, 6,
+ &(vtc_G5x3y7[0]), // expected_vtbl_contents
+ &(vtt_G5x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x3y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x3y7),9, //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 E6x3 : virtual C6 , virtual D1 {
+ int fd;
+ ~E6x3(); // tgen
+ E6x3(); // tgen
+};
+//SIG(-1 E6x3) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E6x3 ::~E6x3(){ note_dtor("E6x3", this);} // tgen
+E6x3 ::E6x3(){ note_ctor("E6x3", this);} // tgen
+
+static void Test_E6x3()
+{
+ extern Class_Descriptor cd_E6x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E6x3, buf);
+ E6x3 *dp, &lv = *(dp=new (buf) E6x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E6x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x3)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,20), "E6x3");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,8), "E6x3");
+ check_base_class_offset(lv, (C6*), ABISELECT(16,8), "E6x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E6x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E6x3.fd");
+ test_class_info(&lv, &cd_E6x3);
+ dp->~E6x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x3(Test_E6x3, "E6x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E6x3C1Ev();
+extern void _ZN4E6x3D1Ev();
+Name_Map name_map_E6x3[] = {
+ NSPAIR(_ZN4E6x3C1Ev),
+ NSPAIR(_ZN4E6x3D1Ev),
+ {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_E6x3[] = {
+ // 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(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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI4E6x3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E6x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x3[] = {
+ {&(_ZTV4E6x3[5]), 5,14},
+ {&(_ZTV4E6x3[9]), 9,14},
+ {&(_ZTV4E6x3[13]), 13,14},
+ {&(_tg__ZTV2C6__4E6x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+Class_Descriptor cd_E6x3 = { "E6x3", // class name
+ bases_E6x3, 4,
+ &(vtc_E6x3[0]), // expected_vtbl_contents
+ &(vtt_E6x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E6x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x3),4, //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 G6x3y0 : E6x3 , F1 {
+ int ff;
+ ~G6x3y0(); // tgen
+ G6x3y0(); // tgen
+};
+//SIG(1 G6x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x3y0 ::~G6x3y0(){ note_dtor("G6x3y0", this);} // tgen
+G6x3y0 ::G6x3y0(){ note_ctor("G6x3y0", this);} // tgen
+
+static void Test_G6x3y0()
+{
+ extern Class_Descriptor cd_G6x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x3y0, buf);
+ G6x3y0 *dp, &lv = *(dp=new (buf) G6x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y0)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x3y0");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x3y0");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(32,20), "G6x3y0");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(56,36), "G6x3y0");
+ check_base_class_offset(lv, (E6x3*), 0, "G6x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G6x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G6x3y0.ff");
+ test_class_info(&lv, &cd_G6x3y0);
+ dp->~G6x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y0(Test_G6x3y0, "G6x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y0C1Ev();
+extern void _ZN6G6x3y0D1Ev();
+Name_Map name_map_G6x3y0[] = {
+ NSPAIR(_ZN6G6x3y0C1Ev),
+ NSPAIR(_ZN6G6x3y0D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x3y0[] = {
+ // 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(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_C6, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y0[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y0[] = {
+ {&(_ZTV6G6x3y0[5]), 5,17},
+ {&(_tg__ZTV4E6x3__6G6x3y0[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y0[3]), 3,4},
+ {&(_ZTV6G6x3y0[12]), 12,17},
+ {&(_ZTV6G6x3y0[16]), 16,17},
+ {&(_tg__ZTV2C6__6G6x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y0[];
+extern VTBL_ENTRY _ZTV6G6x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y0[];
+Class_Descriptor cd_G6x3y0 = { "G6x3y0", // class name
+ bases_G6x3y0, 6,
+ &(vtc_G6x3y0[0]), // expected_vtbl_contents
+ &(vtt_G6x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y0),7, //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 G6x3y1 : virtual E6x3 , F1 {
+ int ff;
+ ~G6x3y1(); // tgen
+ G6x3y1(); // tgen
+};
+//SIG(1 G6x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G6x3y1 ::~G6x3y1(){ note_dtor("G6x3y1", this);} // tgen
+G6x3y1 ::G6x3y1(){ note_ctor("G6x3y1", this);} // tgen
+
+static void Test_G6x3y1()
+{
+ extern Class_Descriptor cd_G6x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x3y1, buf);
+ G6x3y1 *dp, &lv = *(dp=new (buf) G6x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y1)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x3y1");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x3y1");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(32,20), "G6x3y1");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(56,36), "G6x3y1");
+ check_base_class_offset(lv, (E6x3*), ABISELECT(16,12), "G6x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x3y1.ff");
+ test_class_info(&lv, &cd_G6x3y1);
+ dp->~G6x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y1(Test_G6x3y1, "G6x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y1C1Ev();
+extern void _ZN6G6x3y1D1Ev();
+Name_Map name_map_G6x3y1[] = {
+ NSPAIR(_ZN6G6x3y1C1Ev),
+ NSPAIR(_ZN6G6x3y1D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x3y1[] = {
+ // 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(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_C6, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI6G6x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y1[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y1[] = {
+ {&(_ZTV6G6x3y1[6]), 6,21},
+ {&(_ZTV6G6x3y1[12]), 12,21},
+ {&(_ZTV6G6x3y1[16]), 16,21},
+ {&(_ZTV6G6x3y1[20]), 20,21},
+ {&(_tg__ZTV4E6x3__6G6x3y1[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y1[3]), 3,4},
+ {&(_tg__ZTV2C6__6G6x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y1[];
+extern VTBL_ENTRY _ZTV6G6x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y1[];
+Class_Descriptor cd_G6x3y1 = { "G6x3y1", // class name
+ bases_G6x3y1, 6,
+ &(vtc_G6x3y1[0]), // expected_vtbl_contents
+ &(vtt_G6x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y1),8, //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 G6x3y2 : E6x3 , virtual F1 {
+ int ff;
+ ~G6x3y2(); // tgen
+ G6x3y2(); // tgen
+};
+//SIG(1 G6x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x3y2 ::~G6x3y2(){ note_dtor("G6x3y2", this);} // tgen
+G6x3y2 ::G6x3y2(){ note_ctor("G6x3y2", this);} // tgen
+
+static void Test_G6x3y2()
+{
+ extern Class_Descriptor cd_G6x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x3y2, buf);
+ G6x3y2 *dp, &lv = *(dp=new (buf) G6x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y2)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "G6x3y2");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "G6x3y2");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(16,12), "G6x3y2");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(40,28), "G6x3y2");
+ check_base_class_offset(lv, (E6x3*), 0, "G6x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x3y2.ff");
+ test_class_info(&lv, &cd_G6x3y2);
+ dp->~G6x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y2(Test_G6x3y2, "G6x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y2C1Ev();
+extern void _ZN6G6x3y2D1Ev();
+Name_Map name_map_G6x3y2[] = {
+ NSPAIR(_ZN6G6x3y2C1Ev),
+ NSPAIR(_ZN6G6x3y2D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x3y2[] = {
+ // 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, 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
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x3y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y2[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y2[] = {
+ {&(_ZTV6G6x3y2[6]), 6,19},
+ {&(_tg__ZTV4E6x3__6G6x3y2[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y2[3]), 3,4},
+ {&(_ZTV6G6x3y2[10]), 10,19},
+ {&(_ZTV6G6x3y2[14]), 14,19},
+ {&(_ZTV6G6x3y2[18]), 18,19},
+ {&(_tg__ZTV2C6__6G6x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y2[];
+extern VTBL_ENTRY _ZTV6G6x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y2[];
+Class_Descriptor cd_G6x3y2 = { "G6x3y2", // class name
+ bases_G6x3y2, 6,
+ &(vtc_G6x3y2[0]), // expected_vtbl_contents
+ &(vtt_G6x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y2),8, //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 G6x3y3 : virtual E6x3 , virtual F1 {
+ int ff;
+ ~G6x3y3(); // tgen
+ G6x3y3(); // tgen
+};
+//SIG(1 G6x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G6x3y3 ::~G6x3y3(){ note_dtor("G6x3y3", this);} // tgen
+G6x3y3 ::G6x3y3(){ note_ctor("G6x3y3", this);} // tgen
+
+static void Test_G6x3y3()
+{
+ extern Class_Descriptor cd_G6x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G6x3y3, buf);
+ G6x3y3 *dp, &lv = *(dp=new (buf) G6x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G6x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y3)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,28), "G6x3y3");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,16), "G6x3y3");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(32,16), "G6x3y3");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(56,32), "G6x3y3");
+ check_base_class_offset(lv, (E6x3*), ABISELECT(16,8), "G6x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G6x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x3y3.ff");
+ test_class_info(&lv, &cd_G6x3y3);
+ dp->~G6x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y3(Test_G6x3y3, "G6x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y3C1Ev();
+extern void _ZN6G6x3y3D1Ev();
+Name_Map name_map_G6x3y3[] = {
+ NSPAIR(_ZN6G6x3y3C1Ev),
+ NSPAIR(_ZN6G6x3y3D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x3y3[] = {
+ // 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(32,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_C6, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 21, //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 _ZTI6G6x3y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G6x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y3[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y3[] = {
+ {&(_ZTV6G6x3y3[7]), 7,25},
+ {&(_ZTV6G6x3y3[12]), 12,25},
+ {&(_ZTV6G6x3y3[16]), 16,25},
+ {&(_ZTV6G6x3y3[20]), 20,25},
+ {&(_ZTV6G6x3y3[24]), 24,25},
+ {&(_tg__ZTV4E6x3__6G6x3y3[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y3[3]), 3,4},
+ {&(_tg__ZTV2C6__6G6x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y3[];
+extern VTBL_ENTRY _ZTV6G6x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y3[];
+Class_Descriptor cd_G6x3y3 = { "G6x3y3", // class name
+ bases_G6x3y3, 6,
+ &(vtc_G6x3y3[0]), // expected_vtbl_contents
+ &(vtt_G6x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G6x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y3),9, //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 G6x3y4 : E6x3 , F0 {
+ int ff;
+ ~G6x3y4(); // tgen
+ G6x3y4(); // tgen
+};
+//SIG(1 G6x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x3y4 ::~G6x3y4(){ note_dtor("G6x3y4", this);} // tgen
+G6x3y4 ::G6x3y4(){ note_ctor("G6x3y4", this);} // tgen
+
+static void Test_G6x3y4()
+{
+ extern Class_Descriptor cd_G6x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x3y4, buf);
+ G6x3y4 *dp, &lv = *(dp=new (buf) G6x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y4)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x3y4");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x3y4");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(24,16), "G6x3y4");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(48,32), "G6x3y4");
+ check_base_class_offset(lv, (E6x3*), 0, "G6x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G6x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x3y4.ff");
+ test_class_info(&lv, &cd_G6x3y4);
+ dp->~G6x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y4(Test_G6x3y4, "G6x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y4C1Ev();
+extern void _ZN6G6x3y4D1Ev();
+Name_Map name_map_G6x3y4[] = {
+ NSPAIR(_ZN6G6x3y4C1Ev),
+ NSPAIR(_ZN6G6x3y4D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x3y4[] = {
+ // 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(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_C6, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G6x3y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y4[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y4[] = {
+ {&(_ZTV6G6x3y4[5]), 5,14},
+ {&(_tg__ZTV4E6x3__6G6x3y4[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y4[3]), 3,4},
+ {&(_ZTV6G6x3y4[9]), 9,14},
+ {&(_ZTV6G6x3y4[13]), 13,14},
+ {&(_tg__ZTV2C6__6G6x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y4[];
+extern VTBL_ENTRY _ZTV6G6x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y4[];
+Class_Descriptor cd_G6x3y4 = { "G6x3y4", // class name
+ bases_G6x3y4, 6,
+ &(vtc_G6x3y4[0]), // expected_vtbl_contents
+ &(vtt_G6x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y4),7, //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 G6x3y5 : virtual E6x3 , F0 {
+ int ff;
+ ~G6x3y5(); // tgen
+ G6x3y5(); // tgen
+};
+//SIG(1 G6x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x3y5 ::~G6x3y5(){ note_dtor("G6x3y5", this);} // tgen
+G6x3y5 ::G6x3y5(){ note_ctor("G6x3y5", this);} // tgen
+
+static void Test_G6x3y5()
+{
+ extern Class_Descriptor cd_G6x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x3y5, buf);
+ G6x3y5 *dp, &lv = *(dp=new (buf) G6x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y5)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x3y5");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x3y5");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(32,20), "G6x3y5");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(56,36), "G6x3y5");
+ check_base_class_offset(lv, (E6x3*), ABISELECT(16,12), "G6x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x3y5.ff");
+ test_class_info(&lv, &cd_G6x3y5);
+ dp->~G6x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y5(Test_G6x3y5, "G6x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y5C1Ev();
+extern void _ZN6G6x3y5D1Ev();
+Name_Map name_map_G6x3y5[] = {
+ NSPAIR(_ZN6G6x3y5C1Ev),
+ NSPAIR(_ZN6G6x3y5D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x3y5[] = {
+ // 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(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_C6, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, 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_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 _ZTI6G6x3y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y5[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y5[] = {
+ {&(_ZTV6G6x3y5[6]), 6,20},
+ {&(_ZTV6G6x3y5[11]), 11,20},
+ {&(_ZTV6G6x3y5[15]), 15,20},
+ {&(_ZTV6G6x3y5[19]), 19,20},
+ {&(_tg__ZTV4E6x3__6G6x3y5[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y5[3]), 3,4},
+ {&(_tg__ZTV2C6__6G6x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y5[];
+extern VTBL_ENTRY _ZTV6G6x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y5[];
+Class_Descriptor cd_G6x3y5 = { "G6x3y5", // class name
+ bases_G6x3y5, 6,
+ &(vtc_G6x3y5[0]), // expected_vtbl_contents
+ &(vtt_G6x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y5),8, //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 G6x3y6 : E6x3 , virtual F0 {
+ int ff;
+ ~G6x3y6(); // tgen
+ G6x3y6(); // tgen
+};
+//SIG(1 G6x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x3y6 ::~G6x3y6(){ note_dtor("G6x3y6", this);} // tgen
+G6x3y6 ::G6x3y6(){ note_ctor("G6x3y6", this);} // tgen
+
+static void Test_G6x3y6()
+{
+ extern Class_Descriptor cd_G6x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x3y6, buf);
+ G6x3y6 *dp, &lv = *(dp=new (buf) G6x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y6)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "G6x3y6");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "G6x3y6");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(16,12), "G6x3y6");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(40,28), "G6x3y6");
+ check_base_class_offset(lv, (E6x3*), 0, "G6x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x3y6.ff");
+ test_class_info(&lv, &cd_G6x3y6);
+ dp->~G6x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y6(Test_G6x3y6, "G6x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y6C1Ev();
+extern void _ZN6G6x3y6D1Ev();
+Name_Map name_map_G6x3y6[] = {
+ NSPAIR(_ZN6G6x3y6C1Ev),
+ NSPAIR(_ZN6G6x3y6D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x3y6[] = {
+ // 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, 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
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI6G6x3y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y6[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y6[] = {
+ {&(_ZTV6G6x3y6[6]), 6,15},
+ {&(_tg__ZTV4E6x3__6G6x3y6[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y6[3]), 3,4},
+ {&(_ZTV6G6x3y6[10]), 10,15},
+ {&(_ZTV6G6x3y6[14]), 14,15},
+ {&(_tg__ZTV2C6__6G6x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y6[];
+extern VTBL_ENTRY _ZTV6G6x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y6[];
+Class_Descriptor cd_G6x3y6 = { "G6x3y6", // class name
+ bases_G6x3y6, 6,
+ &(vtc_G6x3y6[0]), // expected_vtbl_contents
+ &(vtt_G6x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y6),7, //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 G6x3y7 : virtual E6x3 , virtual F0 {
+ int ff;
+ ~G6x3y7(); // tgen
+ G6x3y7(); // tgen
+};
+//SIG(1 G6x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x3y7 ::~G6x3y7(){ note_dtor("G6x3y7", this);} // tgen
+G6x3y7 ::G6x3y7(){ note_ctor("G6x3y7", this);} // tgen
+
+static void Test_G6x3y7()
+{
+ extern Class_Descriptor cd_G6x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x3y7, buf);
+ G6x3y7 *dp, &lv = *(dp=new (buf) G6x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x3y7)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,28), "G6x3y7");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,16), "G6x3y7");
+ check_base_class_offset(lv, (C6*)(E6x3*), ABISELECT(32,16), "G6x3y7");
+ check_base_class_offset(lv, (D1*)(E6x3*), ABISELECT(56,32), "G6x3y7");
+ check_base_class_offset(lv, (E6x3*), ABISELECT(16,8), "G6x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G6x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x3y7.ff");
+ test_class_info(&lv, &cd_G6x3y7);
+ dp->~G6x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x3y7(Test_G6x3y7, "G6x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x3y7C1Ev();
+extern void _ZN6G6x3y7D1Ev();
+Name_Map name_map_G6x3y7[] = {
+ NSPAIR(_ZN6G6x3y7C1Ev),
+ NSPAIR(_ZN6G6x3y7D1Ev),
+ {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_E6x3;
+extern VTBL_ENTRY _ZTI4E6x3[];
+extern VTBL_ENTRY _ZTV4E6x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x3y7[] = {
+ // 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(32,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_C6, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x3, ABISELECT(16,8), //bcp->offset
+ 7, //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 _ZTI6G6x3y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G6x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x3y7[];
+static VTBL_ENTRY _tg__ZTV4E6x3__6G6x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x3__6G6x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E6x3__6G6x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x3y7[] = {
+ {&(_ZTV6G6x3y7[7]), 7,21},
+ {&(_ZTV6G6x3y7[12]), 12,21},
+ {&(_ZTV6G6x3y7[16]), 16,21},
+ {&(_ZTV6G6x3y7[20]), 20,21},
+ {&(_tg__ZTV4E6x3__6G6x3y7[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x3__6G6x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__4E6x3__6G6x3y7[3]), 3,4},
+ {&(_tg__ZTV2C6__6G6x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x3y7[];
+extern VTBL_ENTRY _ZTV6G6x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x3y7[];
+Class_Descriptor cd_G6x3y7 = { "G6x3y7", // class name
+ bases_G6x3y7, 6,
+ &(vtc_G6x3y7[0]), // expected_vtbl_contents
+ &(vtt_G6x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x3y7),8, //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 E7x3 : virtual C7 , virtual D1 {
+ int fd;
+ ~E7x3(); // tgen
+ E7x3(); // tgen
+};
+//SIG(-1 E7x3) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E7x3 ::~E7x3(){ note_dtor("E7x3", this);} // tgen
+E7x3 ::E7x3(){ note_ctor("E7x3", this);} // tgen
+
+static void Test_E7x3()
+{
+ extern Class_Descriptor cd_E7x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E7x3, buf);
+ E7x3 *dp, &lv = *(dp=new (buf) E7x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E7x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x3)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,20), "E7x3");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,8), "E7x3");
+ check_base_class_offset(lv, (C7*), ABISELECT(16,8), "E7x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E7x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E7x3.fd");
+ test_class_info(&lv, &cd_E7x3);
+ dp->~E7x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x3(Test_E7x3, "E7x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN4E7x3C1Ev();
+extern void _ZN4E7x3D1Ev();
+Name_Map name_map_E7x3[] = {
+ NSPAIR(_ZN4E7x3C1Ev),
+ NSPAIR(_ZN4E7x3D1Ev),
+ {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_E7x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 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_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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 _ZTI4E7x3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E7x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x3[] = {
+ {&(_ZTV4E7x3[5]), 5,18},
+ {&(_ZTV4E7x3[9]), 9,18},
+ {&(_ZTV4E7x3[13]), 13,18},
+ {&(_ZTV4E7x3[17]), 17,18},
+ {&(_tg__ZTV2C7__4E7x3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+Class_Descriptor cd_E7x3 = { "E7x3", // class name
+ bases_E7x3, 4,
+ &(vtc_E7x3[0]), // expected_vtbl_contents
+ &(vtt_E7x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI4E7x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x3),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 G7x3y0 : E7x3 , F1 {
+ int ff;
+ ~G7x3y0(); // tgen
+ G7x3y0(); // tgen
+};
+//SIG(1 G7x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x3y0 ::~G7x3y0(){ note_dtor("G7x3y0", this);} // tgen
+G7x3y0 ::G7x3y0(){ note_ctor("G7x3y0", this);} // tgen
+
+static void Test_G7x3y0()
+{
+ extern Class_Descriptor cd_G7x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x3y0, buf);
+ G7x3y0 *dp, &lv = *(dp=new (buf) G7x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y0)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x3y0");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x3y0");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(32,20), "G7x3y0");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(64,40), "G7x3y0");
+ check_base_class_offset(lv, (E7x3*), 0, "G7x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G7x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G7x3y0.ff");
+ test_class_info(&lv, &cd_G7x3y0);
+ dp->~G7x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y0(Test_G7x3y0, "G7x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y0C1Ev();
+extern void _ZN6G7x3y0D1Ev();
+Name_Map name_map_G7x3y0[] = {
+ NSPAIR(_ZN6G7x3y0C1Ev),
+ NSPAIR(_ZN6G7x3y0D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x3y0[] = {
+ // 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)
+ 7, //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(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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y0[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y0[] = {
+ {&(_ZTV6G7x3y0[5]), 5,21},
+ {&(_tg__ZTV4E7x3__6G7x3y0[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y0[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y0[3]), 3,4},
+ {&(_ZTV6G7x3y0[12]), 12,21},
+ {&(_ZTV6G7x3y0[16]), 16,21},
+ {&(_ZTV6G7x3y0[20]), 20,21},
+ {&(_tg__ZTV2C7__6G7x3y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y0[];
+extern VTBL_ENTRY _ZTV6G7x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y0[];
+Class_Descriptor cd_G7x3y0 = { "G7x3y0", // class name
+ bases_G7x3y0, 6,
+ &(vtc_G7x3y0[0]), // expected_vtbl_contents
+ &(vtt_G7x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y0),10, //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 G7x3y1 : virtual E7x3 , F1 {
+ int ff;
+ ~G7x3y1(); // tgen
+ G7x3y1(); // tgen
+};
+//SIG(1 G7x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G7x3y1 ::~G7x3y1(){ note_dtor("G7x3y1", this);} // tgen
+G7x3y1 ::G7x3y1(){ note_ctor("G7x3y1", this);} // tgen
+
+static void Test_G7x3y1()
+{
+ extern Class_Descriptor cd_G7x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x3y1, buf);
+ G7x3y1 *dp, &lv = *(dp=new (buf) G7x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y1)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x3y1");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x3y1");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(32,20), "G7x3y1");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(64,40), "G7x3y1");
+ check_base_class_offset(lv, (E7x3*), ABISELECT(16,12), "G7x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x3y1.ff");
+ test_class_info(&lv, &cd_G7x3y1);
+ dp->~G7x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y1(Test_G7x3y1, "G7x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y1C1Ev();
+extern void _ZN6G7x3y1D1Ev();
+Name_Map name_map_G7x3y1[] = {
+ NSPAIR(_ZN6G7x3y1C1Ev),
+ NSPAIR(_ZN6G7x3y1D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI6G7x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y1[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y1[] = {
+ {&(_ZTV6G7x3y1[6]), 6,25},
+ {&(_ZTV6G7x3y1[12]), 12,25},
+ {&(_ZTV6G7x3y1[16]), 16,25},
+ {&(_ZTV6G7x3y1[20]), 20,25},
+ {&(_ZTV6G7x3y1[24]), 24,25},
+ {&(_tg__ZTV4E7x3__6G7x3y1[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y1[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y1[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x3y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y1[];
+extern VTBL_ENTRY _ZTV6G7x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y1[];
+Class_Descriptor cd_G7x3y1 = { "G7x3y1", // class name
+ bases_G7x3y1, 6,
+ &(vtc_G7x3y1[0]), // expected_vtbl_contents
+ &(vtt_G7x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y1),11, //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 G7x3y2 : E7x3 , virtual F1 {
+ int ff;
+ ~G7x3y2(); // tgen
+ G7x3y2(); // tgen
+};
+//SIG(1 G7x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x3y2 ::~G7x3y2(){ note_dtor("G7x3y2", this);} // tgen
+G7x3y2 ::G7x3y2(){ note_ctor("G7x3y2", this);} // tgen
+
+static void Test_G7x3y2()
+{
+ extern Class_Descriptor cd_G7x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x3y2, buf);
+ G7x3y2 *dp, &lv = *(dp=new (buf) G7x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y2)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "G7x3y2");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "G7x3y2");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(16,12), "G7x3y2");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(48,32), "G7x3y2");
+ check_base_class_offset(lv, (E7x3*), 0, "G7x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x3y2.ff");
+ test_class_info(&lv, &cd_G7x3y2);
+ dp->~G7x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y2(Test_G7x3y2, "G7x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y2C1Ev();
+extern void _ZN6G7x3y2D1Ev();
+Name_Map name_map_G7x3y2[] = {
+ NSPAIR(_ZN6G7x3y2C1Ev),
+ NSPAIR(_ZN6G7x3y2D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x3y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y2[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y2[] = {
+ {&(_ZTV6G7x3y2[6]), 6,23},
+ {&(_tg__ZTV4E7x3__6G7x3y2[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y2[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y2[3]), 3,4},
+ {&(_ZTV6G7x3y2[10]), 10,23},
+ {&(_ZTV6G7x3y2[14]), 14,23},
+ {&(_ZTV6G7x3y2[18]), 18,23},
+ {&(_ZTV6G7x3y2[22]), 22,23},
+ {&(_tg__ZTV2C7__6G7x3y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y2[];
+extern VTBL_ENTRY _ZTV6G7x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y2[];
+Class_Descriptor cd_G7x3y2 = { "G7x3y2", // class name
+ bases_G7x3y2, 6,
+ &(vtc_G7x3y2[0]), // expected_vtbl_contents
+ &(vtt_G7x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y2),11, //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 G7x3y3 : virtual E7x3 , virtual F1 {
+ int ff;
+ ~G7x3y3(); // tgen
+ G7x3y3(); // tgen
+};
+//SIG(1 G7x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G7x3y3 ::~G7x3y3(){ note_dtor("G7x3y3", this);} // tgen
+G7x3y3 ::G7x3y3(){ note_ctor("G7x3y3", this);} // tgen
+
+static void Test_G7x3y3()
+{
+ extern Class_Descriptor cd_G7x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G7x3y3, buf);
+ G7x3y3 *dp, &lv = *(dp=new (buf) G7x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G7x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y3)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,28), "G7x3y3");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,16), "G7x3y3");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(32,16), "G7x3y3");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(64,36), "G7x3y3");
+ check_base_class_offset(lv, (E7x3*), ABISELECT(16,8), "G7x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G7x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x3y3.ff");
+ test_class_info(&lv, &cd_G7x3y3);
+ dp->~G7x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y3(Test_G7x3y3, "G7x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y3C1Ev();
+extern void _ZN6G7x3y3D1Ev();
+Name_Map name_map_G7x3y3[] = {
+ NSPAIR(_ZN6G7x3y3C1Ev),
+ NSPAIR(_ZN6G7x3y3D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x3y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI6G7x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y3[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y3[] = {
+ {&(_ZTV6G7x3y3[7]), 7,29},
+ {&(_ZTV6G7x3y3[12]), 12,29},
+ {&(_ZTV6G7x3y3[16]), 16,29},
+ {&(_ZTV6G7x3y3[20]), 20,29},
+ {&(_ZTV6G7x3y3[24]), 24,29},
+ {&(_ZTV6G7x3y3[28]), 28,29},
+ {&(_tg__ZTV4E7x3__6G7x3y3[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y3[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y3[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x3y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y3[];
+extern VTBL_ENTRY _ZTV6G7x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y3[];
+Class_Descriptor cd_G7x3y3 = { "G7x3y3", // class name
+ bases_G7x3y3, 6,
+ &(vtc_G7x3y3[0]), // expected_vtbl_contents
+ &(vtt_G7x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI6G7x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y3),12, //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 G7x3y4 : E7x3 , F0 {
+ int ff;
+ ~G7x3y4(); // tgen
+ G7x3y4(); // tgen
+};
+//SIG(1 G7x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x3y4 ::~G7x3y4(){ note_dtor("G7x3y4", this);} // tgen
+G7x3y4 ::G7x3y4(){ note_ctor("G7x3y4", this);} // tgen
+
+static void Test_G7x3y4()
+{
+ extern Class_Descriptor cd_G7x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x3y4, buf);
+ G7x3y4 *dp, &lv = *(dp=new (buf) G7x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y4)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x3y4");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x3y4");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(24,16), "G7x3y4");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(56,36), "G7x3y4");
+ check_base_class_offset(lv, (E7x3*), 0, "G7x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G7x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x3y4.ff");
+ test_class_info(&lv, &cd_G7x3y4);
+ dp->~G7x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y4(Test_G7x3y4, "G7x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y4C1Ev();
+extern void _ZN6G7x3y4D1Ev();
+Name_Map name_map_G7x3y4[] = {
+ NSPAIR(_ZN6G7x3y4C1Ev),
+ NSPAIR(_ZN6G7x3y4D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G7x3y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y4[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y4[] = {
+ {&(_ZTV6G7x3y4[5]), 5,18},
+ {&(_tg__ZTV4E7x3__6G7x3y4[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y4[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y4[3]), 3,4},
+ {&(_ZTV6G7x3y4[9]), 9,18},
+ {&(_ZTV6G7x3y4[13]), 13,18},
+ {&(_ZTV6G7x3y4[17]), 17,18},
+ {&(_tg__ZTV2C7__6G7x3y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y4[];
+extern VTBL_ENTRY _ZTV6G7x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y4[];
+Class_Descriptor cd_G7x3y4 = { "G7x3y4", // class name
+ bases_G7x3y4, 6,
+ &(vtc_G7x3y4[0]), // expected_vtbl_contents
+ &(vtt_G7x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y4),10, //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 G7x3y5 : virtual E7x3 , F0 {
+ int ff;
+ ~G7x3y5(); // tgen
+ G7x3y5(); // tgen
+};
+//SIG(1 G7x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x3y5 ::~G7x3y5(){ note_dtor("G7x3y5", this);} // tgen
+G7x3y5 ::G7x3y5(){ note_ctor("G7x3y5", this);} // tgen
+
+static void Test_G7x3y5()
+{
+ extern Class_Descriptor cd_G7x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x3y5, buf);
+ G7x3y5 *dp, &lv = *(dp=new (buf) G7x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y5)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x3y5");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x3y5");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(32,20), "G7x3y5");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(64,40), "G7x3y5");
+ check_base_class_offset(lv, (E7x3*), ABISELECT(16,12), "G7x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x3y5.ff");
+ test_class_info(&lv, &cd_G7x3y5);
+ dp->~G7x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y5(Test_G7x3y5, "G7x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y5C1Ev();
+extern void _ZN6G7x3y5D1Ev();
+Name_Map name_map_G7x3y5[] = {
+ NSPAIR(_ZN6G7x3y5C1Ev),
+ NSPAIR(_ZN6G7x3y5D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 16, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, 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_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 _ZTI6G7x3y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y5[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y5[] = {
+ {&(_ZTV6G7x3y5[6]), 6,24},
+ {&(_ZTV6G7x3y5[11]), 11,24},
+ {&(_ZTV6G7x3y5[15]), 15,24},
+ {&(_ZTV6G7x3y5[19]), 19,24},
+ {&(_ZTV6G7x3y5[23]), 23,24},
+ {&(_tg__ZTV4E7x3__6G7x3y5[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y5[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y5[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x3y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y5[];
+extern VTBL_ENTRY _ZTV6G7x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y5[];
+Class_Descriptor cd_G7x3y5 = { "G7x3y5", // class name
+ bases_G7x3y5, 6,
+ &(vtc_G7x3y5[0]), // expected_vtbl_contents
+ &(vtt_G7x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y5),11, //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 G7x3y6 : E7x3 , virtual F0 {
+ int ff;
+ ~G7x3y6(); // tgen
+ G7x3y6(); // tgen
+};
+//SIG(1 G7x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x3y6 ::~G7x3y6(){ note_dtor("G7x3y6", this);} // tgen
+G7x3y6 ::G7x3y6(){ note_ctor("G7x3y6", this);} // tgen
+
+static void Test_G7x3y6()
+{
+ extern Class_Descriptor cd_G7x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x3y6, buf);
+ G7x3y6 *dp, &lv = *(dp=new (buf) G7x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y6)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "G7x3y6");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "G7x3y6");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(16,12), "G7x3y6");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(48,32), "G7x3y6");
+ check_base_class_offset(lv, (E7x3*), 0, "G7x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G7x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x3y6.ff");
+ test_class_info(&lv, &cd_G7x3y6);
+ dp->~G7x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y6(Test_G7x3y6, "G7x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y6C1Ev();
+extern void _ZN6G7x3y6D1Ev();
+Name_Map name_map_G7x3y6[] = {
+ NSPAIR(_ZN6G7x3y6C1Ev),
+ NSPAIR(_ZN6G7x3y6D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G7x3y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y6[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y6[] = {
+ {&(_ZTV6G7x3y6[6]), 6,19},
+ {&(_tg__ZTV4E7x3__6G7x3y6[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y6[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y6[3]), 3,4},
+ {&(_ZTV6G7x3y6[10]), 10,19},
+ {&(_ZTV6G7x3y6[14]), 14,19},
+ {&(_ZTV6G7x3y6[18]), 18,19},
+ {&(_tg__ZTV2C7__6G7x3y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y6[];
+extern VTBL_ENTRY _ZTV6G7x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y6[];
+Class_Descriptor cd_G7x3y6 = { "G7x3y6", // class name
+ bases_G7x3y6, 6,
+ &(vtc_G7x3y6[0]), // expected_vtbl_contents
+ &(vtt_G7x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y6),10, //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 G7x3y7 : virtual E7x3 , virtual F0 {
+ int ff;
+ ~G7x3y7(); // tgen
+ G7x3y7(); // tgen
+};
+//SIG(1 G7x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x3y7 ::~G7x3y7(){ note_dtor("G7x3y7", this);} // tgen
+G7x3y7 ::G7x3y7(){ note_ctor("G7x3y7", this);} // tgen
+
+static void Test_G7x3y7()
+{
+ extern Class_Descriptor cd_G7x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x3y7, buf);
+ G7x3y7 *dp, &lv = *(dp=new (buf) G7x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x3y7)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,28), "G7x3y7");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,16), "G7x3y7");
+ check_base_class_offset(lv, (C7*)(E7x3*), ABISELECT(32,16), "G7x3y7");
+ check_base_class_offset(lv, (D1*)(E7x3*), ABISELECT(64,36), "G7x3y7");
+ check_base_class_offset(lv, (E7x3*), ABISELECT(16,8), "G7x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G7x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x3y7.ff");
+ test_class_info(&lv, &cd_G7x3y7);
+ dp->~G7x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x3y7(Test_G7x3y7, "G7x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x3y7C1Ev();
+extern void _ZN6G7x3y7D1Ev();
+Name_Map name_map_G7x3y7[] = {
+ NSPAIR(_ZN6G7x3y7C1Ev),
+ NSPAIR(_ZN6G7x3y7D1Ev),
+ {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_E7x3;
+extern VTBL_ENTRY _ZTI4E7x3[];
+extern VTBL_ENTRY _ZTV4E7x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C7, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G7x3y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G7x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x3y7[];
+static VTBL_ENTRY _tg__ZTV4E7x3__6G7x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x3__6G7x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x3__6G7x3y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E7x3__6G7x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x3y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x3y7[] = {
+ {&(_ZTV6G7x3y7[7]), 7,25},
+ {&(_ZTV6G7x3y7[12]), 12,25},
+ {&(_ZTV6G7x3y7[16]), 16,25},
+ {&(_ZTV6G7x3y7[20]), 20,25},
+ {&(_ZTV6G7x3y7[24]), 24,25},
+ {&(_tg__ZTV4E7x3__6G7x3y7[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x3__6G7x3y7[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x3__6G7x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__4E7x3__6G7x3y7[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x3y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x3y7[];
+extern VTBL_ENTRY _ZTV6G7x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x3y7[];
+Class_Descriptor cd_G7x3y7 = { "G7x3y7", // class name
+ bases_G7x3y7, 6,
+ &(vtc_G7x3y7[0]), // expected_vtbl_contents
+ &(vtt_G7x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x3y7),11, //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 E8x3 : virtual C8 , virtual D1 {
+ int fd;
+ ~E8x3(); // tgen
+ E8x3(); // tgen
+};
+//SIG(-1 E8x3) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E8x3 ::~E8x3(){ note_dtor("E8x3", this);} // tgen
+E8x3 ::E8x3(){ note_ctor("E8x3", this);} // tgen
+
+static void Test_E8x3()
+{
+ extern Class_Descriptor cd_E8x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E8x3, buf);
+ E8x3 *dp, &lv = *(dp=new (buf) E8x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E8x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x3)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,12), "E8x3");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,20), "E8x3");
+ check_base_class_offset(lv, (C8*), ABISELECT(16,8), "E8x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E8x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E8x3.fd");
+ test_class_info(&lv, &cd_E8x3);
+ dp->~E8x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x3(Test_E8x3, "E8x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E8x3C1Ev();
+extern void _ZN4E8x3D1Ev();
+Name_Map name_map_E8x3[] = {
+ NSPAIR(_ZN4E8x3C1Ev),
+ NSPAIR(_ZN4E8x3D1Ev),
+ {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_E8x3[] = {
+ // 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(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_C8, 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //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 _ZTI4E8x3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E8x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E8x3[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x3[] = {
+ {&(_ZTV4E8x3[5]), 5,12},
+ {&(_ZTV4E8x3[8]), 8,12},
+ {&(_ZTV4E8x3[11]), 11,12},
+ {&(_tg__ZTV2C8__4E8x3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+Class_Descriptor cd_E8x3 = { "E8x3", // class name
+ bases_E8x3, 4,
+ &(vtc_E8x3[0]), // expected_vtbl_contents
+ &(vtt_E8x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E8x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x3),4, //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 G8x3y0 : E8x3 , F1 {
+ int ff;
+ ~G8x3y0(); // tgen
+ G8x3y0(); // tgen
+};
+//SIG(1 G8x3y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x3y0 ::~G8x3y0(){ note_dtor("G8x3y0", this);} // tgen
+G8x3y0 ::G8x3y0(){ note_ctor("G8x3y0", this);} // tgen
+
+static void Test_G8x3y0()
+{
+ extern Class_Descriptor cd_G8x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x3y0, buf);
+ G8x3y0 *dp, &lv = *(dp=new (buf) G8x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y0)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x3y0");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x3y0");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(32,20), "G8x3y0");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(56,36), "G8x3y0");
+ check_base_class_offset(lv, (E8x3*), 0, "G8x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G8x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G8x3y0.ff");
+ test_class_info(&lv, &cd_G8x3y0);
+ dp->~G8x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y0(Test_G8x3y0, "G8x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y0C1Ev();
+extern void _ZN6G8x3y0D1Ev();
+Name_Map name_map_G8x3y0[] = {
+ NSPAIR(_ZN6G8x3y0C1Ev),
+ NSPAIR(_ZN6G8x3y0D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G8x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x3y0[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y0[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y0[] = {
+ {&(_ZTV6G8x3y0[5]), 5,15},
+ {&(_tg__ZTV4E8x3__6G8x3y0[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y0[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y0[3]), 3,4},
+ {&(_ZTV6G8x3y0[11]), 11,15},
+ {&(_ZTV6G8x3y0[14]), 14,15},
+ {&(_tg__ZTV2C8__6G8x3y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y0[];
+extern VTBL_ENTRY _ZTV6G8x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y0[];
+Class_Descriptor cd_G8x3y0 = { "G8x3y0", // class name
+ bases_G8x3y0, 6,
+ &(vtc_G8x3y0[0]), // expected_vtbl_contents
+ &(vtt_G8x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y0),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y0),7, //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 G8x3y1 : virtual E8x3 , F1 {
+ int ff;
+ ~G8x3y1(); // tgen
+ G8x3y1(); // tgen
+};
+//SIG(1 G8x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G8x3y1 ::~G8x3y1(){ note_dtor("G8x3y1", this);} // tgen
+G8x3y1 ::G8x3y1(){ note_ctor("G8x3y1", this);} // tgen
+
+static void Test_G8x3y1()
+{
+ extern Class_Descriptor cd_G8x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x3y1, buf);
+ G8x3y1 *dp, &lv = *(dp=new (buf) G8x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y1)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x3y1");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x3y1");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(32,20), "G8x3y1");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(56,36), "G8x3y1");
+ check_base_class_offset(lv, (E8x3*), ABISELECT(16,12), "G8x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x3y1.ff");
+ test_class_info(&lv, &cd_G8x3y1);
+ dp->~G8x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y1(Test_G8x3y1, "G8x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y1C1Ev();
+extern void _ZN6G8x3y1D1Ev();
+Name_Map name_map_G8x3y1[] = {
+ NSPAIR(_ZN6G8x3y1C1Ev),
+ NSPAIR(_ZN6G8x3y1D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI6G8x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x3y1[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y1[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y1[] = {
+ {&(_ZTV6G8x3y1[6]), 6,19},
+ {&(_ZTV6G8x3y1[12]), 12,19},
+ {&(_ZTV6G8x3y1[15]), 15,19},
+ {&(_ZTV6G8x3y1[18]), 18,19},
+ {&(_tg__ZTV4E8x3__6G8x3y1[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y1[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y1[3]), 3,4},
+ {&(_tg__ZTV2C8__6G8x3y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y1[];
+extern VTBL_ENTRY _ZTV6G8x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y1[];
+Class_Descriptor cd_G8x3y1 = { "G8x3y1", // class name
+ bases_G8x3y1, 6,
+ &(vtc_G8x3y1[0]), // expected_vtbl_contents
+ &(vtt_G8x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y1),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y1),8, //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 G8x3y2 : E8x3 , virtual F1 {
+ int ff;
+ ~G8x3y2(); // tgen
+ G8x3y2(); // tgen
+};
+//SIG(1 G8x3y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x3y2 ::~G8x3y2(){ note_dtor("G8x3y2", this);} // tgen
+G8x3y2 ::G8x3y2(){ note_ctor("G8x3y2", this);} // tgen
+
+static void Test_G8x3y2()
+{
+ extern Class_Descriptor cd_G8x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x3y2, buf);
+ G8x3y2 *dp, &lv = *(dp=new (buf) G8x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y2)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "G8x3y2");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "G8x3y2");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(16,12), "G8x3y2");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(40,28), "G8x3y2");
+ check_base_class_offset(lv, (E8x3*), 0, "G8x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x3y2.ff");
+ test_class_info(&lv, &cd_G8x3y2);
+ dp->~G8x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y2(Test_G8x3y2, "G8x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y2C1Ev();
+extern void _ZN6G8x3y2D1Ev();
+Name_Map name_map_G8x3y2[] = {
+ NSPAIR(_ZN6G8x3y2C1Ev),
+ NSPAIR(_ZN6G8x3y2D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x3y2[] = {
+ // 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(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, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x3y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x3y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y2[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y2[] = {
+ {&(_ZTV6G8x3y2[6]), 6,17},
+ {&(_tg__ZTV4E8x3__6G8x3y2[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y2[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y2[3]), 3,4},
+ {&(_ZTV6G8x3y2[9]), 9,17},
+ {&(_ZTV6G8x3y2[12]), 12,17},
+ {&(_ZTV6G8x3y2[16]), 16,17},
+ {&(_tg__ZTV2C8__6G8x3y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y2[];
+extern VTBL_ENTRY _ZTV6G8x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y2[];
+Class_Descriptor cd_G8x3y2 = { "G8x3y2", // class name
+ bases_G8x3y2, 6,
+ &(vtc_G8x3y2[0]), // expected_vtbl_contents
+ &(vtt_G8x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y2),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y2),8, //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 G8x3y3 : virtual E8x3 , virtual F1 {
+ int ff;
+ ~G8x3y3(); // tgen
+ G8x3y3(); // tgen
+};
+//SIG(1 G8x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G8x3y3 ::~G8x3y3(){ note_dtor("G8x3y3", this);} // tgen
+G8x3y3 ::G8x3y3(){ note_ctor("G8x3y3", this);} // tgen
+
+static void Test_G8x3y3()
+{
+ extern Class_Descriptor cd_G8x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G8x3y3, buf);
+ G8x3y3 *dp, &lv = *(dp=new (buf) G8x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G8x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y3)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,20), "G8x3y3");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,28), "G8x3y3");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(32,16), "G8x3y3");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(56,32), "G8x3y3");
+ check_base_class_offset(lv, (E8x3*), ABISELECT(16,8), "G8x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G8x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x3y3.ff");
+ test_class_info(&lv, &cd_G8x3y3);
+ dp->~G8x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y3(Test_G8x3y3, "G8x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y3C1Ev();
+extern void _ZN6G8x3y3D1Ev();
+Name_Map name_map_G8x3y3[] = {
+ NSPAIR(_ZN6G8x3y3C1Ev),
+ NSPAIR(_ZN6G8x3y3D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(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_C8, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 3, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x3y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x3y3[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G8x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y3[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y3[] = {
+ {&(_ZTV6G8x3y3[7]), 7,23},
+ {&(_ZTV6G8x3y3[12]), 12,23},
+ {&(_ZTV6G8x3y3[15]), 15,23},
+ {&(_ZTV6G8x3y3[18]), 18,23},
+ {&(_ZTV6G8x3y3[22]), 22,23},
+ {&(_tg__ZTV4E8x3__6G8x3y3[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y3[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y3[3]), 3,4},
+ {&(_tg__ZTV2C8__6G8x3y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y3[];
+extern VTBL_ENTRY _ZTV6G8x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y3[];
+Class_Descriptor cd_G8x3y3 = { "G8x3y3", // class name
+ bases_G8x3y3, 6,
+ &(vtc_G8x3y3[0]), // expected_vtbl_contents
+ &(vtt_G8x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G8x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y3),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y3),9, //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 G8x3y4 : E8x3 , F0 {
+ int ff;
+ ~G8x3y4(); // tgen
+ G8x3y4(); // tgen
+};
+//SIG(1 G8x3y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x3y4 ::~G8x3y4(){ note_dtor("G8x3y4", this);} // tgen
+G8x3y4 ::G8x3y4(){ note_ctor("G8x3y4", this);} // tgen
+
+static void Test_G8x3y4()
+{
+ extern Class_Descriptor cd_G8x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x3y4, buf);
+ G8x3y4 *dp, &lv = *(dp=new (buf) G8x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y4)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x3y4");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x3y4");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(24,16), "G8x3y4");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(48,32), "G8x3y4");
+ check_base_class_offset(lv, (E8x3*), 0, "G8x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G8x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x3y4.ff");
+ test_class_info(&lv, &cd_G8x3y4);
+ dp->~G8x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y4(Test_G8x3y4, "G8x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y4C1Ev();
+extern void _ZN6G8x3y4D1Ev();
+Name_Map name_map_G8x3y4[] = {
+ NSPAIR(_ZN6G8x3y4C1Ev),
+ NSPAIR(_ZN6G8x3y4D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x3y4[] = {
+ // 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, 0},
+ {&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_C8, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G8x3y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x3y4[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y4[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y4[] = {
+ {&(_ZTV6G8x3y4[5]), 5,12},
+ {&(_tg__ZTV4E8x3__6G8x3y4[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y4[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y4[3]), 3,4},
+ {&(_ZTV6G8x3y4[8]), 8,12},
+ {&(_ZTV6G8x3y4[11]), 11,12},
+ {&(_tg__ZTV2C8__6G8x3y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y4[];
+extern VTBL_ENTRY _ZTV6G8x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y4[];
+Class_Descriptor cd_G8x3y4 = { "G8x3y4", // class name
+ bases_G8x3y4, 6,
+ &(vtc_G8x3y4[0]), // expected_vtbl_contents
+ &(vtt_G8x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y4),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y4),7, //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 G8x3y5 : virtual E8x3 , F0 {
+ int ff;
+ ~G8x3y5(); // tgen
+ G8x3y5(); // tgen
+};
+//SIG(1 G8x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x3y5 ::~G8x3y5(){ note_dtor("G8x3y5", this);} // tgen
+G8x3y5 ::G8x3y5(){ note_ctor("G8x3y5", this);} // tgen
+
+static void Test_G8x3y5()
+{
+ extern Class_Descriptor cd_G8x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x3y5, buf);
+ G8x3y5 *dp, &lv = *(dp=new (buf) G8x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y5)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x3y5");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x3y5");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(32,20), "G8x3y5");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(56,36), "G8x3y5");
+ check_base_class_offset(lv, (E8x3*), ABISELECT(16,12), "G8x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x3y5.ff");
+ test_class_info(&lv, &cd_G8x3y5);
+ dp->~G8x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y5(Test_G8x3y5, "G8x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y5C1Ev();
+extern void _ZN6G8x3y5D1Ev();
+Name_Map name_map_G8x3y5[] = {
+ NSPAIR(_ZN6G8x3y5C1Ev),
+ NSPAIR(_ZN6G8x3y5D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, 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
+ 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 _ZTI6G8x3y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x3y5[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y5[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y5[] = {
+ {&(_ZTV6G8x3y5[6]), 6,18},
+ {&(_ZTV6G8x3y5[11]), 11,18},
+ {&(_ZTV6G8x3y5[14]), 14,18},
+ {&(_ZTV6G8x3y5[17]), 17,18},
+ {&(_tg__ZTV4E8x3__6G8x3y5[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y5[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y5[3]), 3,4},
+ {&(_tg__ZTV2C8__6G8x3y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y5[];
+extern VTBL_ENTRY _ZTV6G8x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y5[];
+Class_Descriptor cd_G8x3y5 = { "G8x3y5", // class name
+ bases_G8x3y5, 6,
+ &(vtc_G8x3y5[0]), // expected_vtbl_contents
+ &(vtt_G8x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y5),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y5),8, //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 G8x3y6 : E8x3 , virtual F0 {
+ int ff;
+ ~G8x3y6(); // tgen
+ G8x3y6(); // tgen
+};
+//SIG(1 G8x3y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x3y6 ::~G8x3y6(){ note_dtor("G8x3y6", this);} // tgen
+G8x3y6 ::G8x3y6(){ note_ctor("G8x3y6", this);} // tgen
+
+static void Test_G8x3y6()
+{
+ extern Class_Descriptor cd_G8x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x3y6, buf);
+ G8x3y6 *dp, &lv = *(dp=new (buf) G8x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y6)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "G8x3y6");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "G8x3y6");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(16,12), "G8x3y6");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(40,28), "G8x3y6");
+ check_base_class_offset(lv, (E8x3*), 0, "G8x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x3y6.ff");
+ test_class_info(&lv, &cd_G8x3y6);
+ dp->~G8x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y6(Test_G8x3y6, "G8x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y6C1Ev();
+extern void _ZN6G8x3y6D1Ev();
+Name_Map name_map_G8x3y6[] = {
+ NSPAIR(_ZN6G8x3y6C1Ev),
+ NSPAIR(_ZN6G8x3y6D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x3y6[] = {
+ // 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(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, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G8x3y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x3y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y6[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y6[] = {
+ {&(_ZTV6G8x3y6[6]), 6,13},
+ {&(_tg__ZTV4E8x3__6G8x3y6[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y6[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y6[3]), 3,4},
+ {&(_ZTV6G8x3y6[9]), 9,13},
+ {&(_ZTV6G8x3y6[12]), 12,13},
+ {&(_tg__ZTV2C8__6G8x3y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y6[];
+extern VTBL_ENTRY _ZTV6G8x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y6[];
+Class_Descriptor cd_G8x3y6 = { "G8x3y6", // class name
+ bases_G8x3y6, 6,
+ &(vtc_G8x3y6[0]), // expected_vtbl_contents
+ &(vtt_G8x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y6),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y6),7, //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 G8x3y7 : virtual E8x3 , virtual F0 {
+ int ff;
+ ~G8x3y7(); // tgen
+ G8x3y7(); // tgen
+};
+//SIG(1 G8x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x3y7 ::~G8x3y7(){ note_dtor("G8x3y7", this);} // tgen
+G8x3y7 ::G8x3y7(){ note_ctor("G8x3y7", this);} // tgen
+
+static void Test_G8x3y7()
+{
+ extern Class_Descriptor cd_G8x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x3y7, buf);
+ G8x3y7 *dp, &lv = *(dp=new (buf) G8x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x3y7)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,20), "G8x3y7");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,28), "G8x3y7");
+ check_base_class_offset(lv, (C8*)(E8x3*), ABISELECT(32,16), "G8x3y7");
+ check_base_class_offset(lv, (D1*)(E8x3*), ABISELECT(56,32), "G8x3y7");
+ check_base_class_offset(lv, (E8x3*), ABISELECT(16,8), "G8x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G8x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x3y7.ff");
+ test_class_info(&lv, &cd_G8x3y7);
+ dp->~G8x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x3y7(Test_G8x3y7, "G8x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x3y7C1Ev();
+extern void _ZN6G8x3y7D1Ev();
+Name_Map name_map_G8x3y7[] = {
+ NSPAIR(_ZN6G8x3y7C1Ev),
+ NSPAIR(_ZN6G8x3y7D1Ev),
+ {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_E8x3;
+extern VTBL_ENTRY _ZTI4E8x3[];
+extern VTBL_ENTRY _ZTV4E8x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(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_C8, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_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 _ZTI6G8x3y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G8x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x3y7[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x3y7[];
+static VTBL_ENTRY _tg__ZTV4E8x3__6G8x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x3__6G8x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E8x3__6G8x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x3y7[] = {
+ {&(_ZTV6G8x3y7[7]), 7,19},
+ {&(_ZTV6G8x3y7[12]), 12,19},
+ {&(_ZTV6G8x3y7[15]), 15,19},
+ {&(_ZTV6G8x3y7[18]), 18,19},
+ {&(_tg__ZTV4E8x3__6G8x3y7[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x3__6G8x3y7[3]), 3,3},
+ {&(_tg__ZTV2D1__4E8x3__6G8x3y7[3]), 3,4},
+ {&(_tg__ZTV2C8__6G8x3y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x3y7[];
+extern VTBL_ENTRY _ZTV6G8x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x3y7[];
+Class_Descriptor cd_G8x3y7 = { "G8x3y7", // class name
+ bases_G8x3y7, 6,
+ &(vtc_G8x3y7[0]), // expected_vtbl_contents
+ &(vtt_G8x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x3y7),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x3y7),8, //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 E9x3 : virtual C9 , virtual D1 {
+ int fd;
+ ~E9x3(); // tgen
+ E9x3(); // tgen
+};
+//SIG(-1 E9x3) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E9x3 ::~E9x3(){ note_dtor("E9x3", this);} // tgen
+E9x3 ::E9x3(){ note_ctor("E9x3", this);} // tgen
+
+static void Test_E9x3()
+{
+ extern Class_Descriptor cd_E9x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E9x3, buf);
+ E9x3 *dp, &lv = *(dp=new (buf) E9x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E9x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x3)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,8), "E9x3");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,20), "E9x3");
+ check_base_class_offset(lv, (C9*), ABISELECT(16,8), "E9x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E9x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E9x3.fd");
+ test_class_info(&lv, &cd_E9x3);
+ dp->~E9x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x3(Test_E9x3, "E9x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E9x3C1Ev();
+extern void _ZN4E9x3D1Ev();
+Name_Map name_map_E9x3[] = {
+ NSPAIR(_ZN4E9x3C1Ev),
+ NSPAIR(_ZN4E9x3D1Ev),
+ {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_E9x3[] = {
+ // 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(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_C9, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI4E9x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E9x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x3[] = {
+ {&(_ZTV4E9x3[5]), 5,14},
+ {&(_ZTV4E9x3[9]), 9,14},
+ {&(_ZTV4E9x3[13]), 13,14},
+ {&(_tg__ZTV2C9__4E9x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+Class_Descriptor cd_E9x3 = { "E9x3", // class name
+ bases_E9x3, 4,
+ &(vtc_E9x3[0]), // expected_vtbl_contents
+ &(vtt_E9x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E9x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x3),4, //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 G9x3y0 : E9x3 , F1 {
+ int ff;
+ ~G9x3y0(); // tgen
+ G9x3y0(); // tgen
+};
+//SIG(1 G9x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x3y0 ::~G9x3y0(){ note_dtor("G9x3y0", this);} // tgen
+G9x3y0 ::G9x3y0(){ note_ctor("G9x3y0", this);} // tgen
+
+static void Test_G9x3y0()
+{
+ extern Class_Descriptor cd_G9x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x3y0, buf);
+ G9x3y0 *dp, &lv = *(dp=new (buf) G9x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y0)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x3y0");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x3y0");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(32,20), "G9x3y0");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(56,36), "G9x3y0");
+ check_base_class_offset(lv, (E9x3*), 0, "G9x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G9x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G9x3y0.ff");
+ test_class_info(&lv, &cd_G9x3y0);
+ dp->~G9x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y0(Test_G9x3y0, "G9x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y0C1Ev();
+extern void _ZN6G9x3y0D1Ev();
+Name_Map name_map_G9x3y0[] = {
+ NSPAIR(_ZN6G9x3y0C1Ev),
+ NSPAIR(_ZN6G9x3y0D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y0[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y0[] = {
+ {&(_ZTV6G9x3y0[5]), 5,17},
+ {&(_tg__ZTV4E9x3__6G9x3y0[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y0[3]), 3,4},
+ {&(_ZTV6G9x3y0[12]), 12,17},
+ {&(_ZTV6G9x3y0[16]), 16,17},
+ {&(_tg__ZTV2C9__6G9x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y0[];
+extern VTBL_ENTRY _ZTV6G9x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y0[];
+Class_Descriptor cd_G9x3y0 = { "G9x3y0", // class name
+ bases_G9x3y0, 6,
+ &(vtc_G9x3y0[0]), // expected_vtbl_contents
+ &(vtt_G9x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y0),7, //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 G9x3y1 : virtual E9x3 , F1 {
+ int ff;
+ ~G9x3y1(); // tgen
+ G9x3y1(); // tgen
+};
+//SIG(1 G9x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G9x3y1 ::~G9x3y1(){ note_dtor("G9x3y1", this);} // tgen
+G9x3y1 ::G9x3y1(){ note_ctor("G9x3y1", this);} // tgen
+
+static void Test_G9x3y1()
+{
+ extern Class_Descriptor cd_G9x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x3y1, buf);
+ G9x3y1 *dp, &lv = *(dp=new (buf) G9x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y1)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x3y1");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x3y1");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(32,20), "G9x3y1");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(56,36), "G9x3y1");
+ check_base_class_offset(lv, (E9x3*), ABISELECT(16,12), "G9x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x3y1.ff");
+ test_class_info(&lv, &cd_G9x3y1);
+ dp->~G9x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y1(Test_G9x3y1, "G9x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y1C1Ev();
+extern void _ZN6G9x3y1D1Ev();
+Name_Map name_map_G9x3y1[] = {
+ NSPAIR(_ZN6G9x3y1C1Ev),
+ NSPAIR(_ZN6G9x3y1D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI6G9x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y1[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y1[] = {
+ {&(_ZTV6G9x3y1[6]), 6,21},
+ {&(_ZTV6G9x3y1[12]), 12,21},
+ {&(_ZTV6G9x3y1[16]), 16,21},
+ {&(_ZTV6G9x3y1[20]), 20,21},
+ {&(_tg__ZTV4E9x3__6G9x3y1[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y1[3]), 3,4},
+ {&(_tg__ZTV2C9__6G9x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y1[];
+extern VTBL_ENTRY _ZTV6G9x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y1[];
+Class_Descriptor cd_G9x3y1 = { "G9x3y1", // class name
+ bases_G9x3y1, 6,
+ &(vtc_G9x3y1[0]), // expected_vtbl_contents
+ &(vtt_G9x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y1),8, //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 G9x3y2 : E9x3 , virtual F1 {
+ int ff;
+ ~G9x3y2(); // tgen
+ G9x3y2(); // tgen
+};
+//SIG(1 G9x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x3y2 ::~G9x3y2(){ note_dtor("G9x3y2", this);} // tgen
+G9x3y2 ::G9x3y2(){ note_ctor("G9x3y2", this);} // tgen
+
+static void Test_G9x3y2()
+{
+ extern Class_Descriptor cd_G9x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x3y2, buf);
+ G9x3y2 *dp, &lv = *(dp=new (buf) G9x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y2)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "G9x3y2");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "G9x3y2");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(16,12), "G9x3y2");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(40,28), "G9x3y2");
+ check_base_class_offset(lv, (E9x3*), 0, "G9x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x3y2.ff");
+ test_class_info(&lv, &cd_G9x3y2);
+ dp->~G9x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y2(Test_G9x3y2, "G9x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y2C1Ev();
+extern void _ZN6G9x3y2D1Ev();
+Name_Map name_map_G9x3y2[] = {
+ NSPAIR(_ZN6G9x3y2C1Ev),
+ NSPAIR(_ZN6G9x3y2D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x3y2[] = {
+ // 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(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, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y2[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y2[] = {
+ {&(_ZTV6G9x3y2[6]), 6,19},
+ {&(_tg__ZTV4E9x3__6G9x3y2[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y2[3]), 3,4},
+ {&(_ZTV6G9x3y2[10]), 10,19},
+ {&(_ZTV6G9x3y2[14]), 14,19},
+ {&(_ZTV6G9x3y2[18]), 18,19},
+ {&(_tg__ZTV2C9__6G9x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y2[];
+extern VTBL_ENTRY _ZTV6G9x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y2[];
+Class_Descriptor cd_G9x3y2 = { "G9x3y2", // class name
+ bases_G9x3y2, 6,
+ &(vtc_G9x3y2[0]), // expected_vtbl_contents
+ &(vtt_G9x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y2),8, //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 G9x3y3 : virtual E9x3 , virtual F1 {
+ int ff;
+ ~G9x3y3(); // tgen
+ G9x3y3(); // tgen
+};
+//SIG(1 G9x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G9x3y3 ::~G9x3y3(){ note_dtor("G9x3y3", this);} // tgen
+G9x3y3 ::G9x3y3(){ note_ctor("G9x3y3", this);} // tgen
+
+static void Test_G9x3y3()
+{
+ extern Class_Descriptor cd_G9x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G9x3y3, buf);
+ G9x3y3 *dp, &lv = *(dp=new (buf) G9x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G9x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y3)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,16), "G9x3y3");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,28), "G9x3y3");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(32,16), "G9x3y3");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(56,32), "G9x3y3");
+ check_base_class_offset(lv, (E9x3*), ABISELECT(16,8), "G9x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G9x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x3y3.ff");
+ test_class_info(&lv, &cd_G9x3y3);
+ dp->~G9x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y3(Test_G9x3y3, "G9x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y3C1Ev();
+extern void _ZN6G9x3y3D1Ev();
+Name_Map name_map_G9x3y3[] = {
+ NSPAIR(_ZN6G9x3y3C1Ev),
+ NSPAIR(_ZN6G9x3y3D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,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, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 21, //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 _ZTI6G9x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G9x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y3[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y3[] = {
+ {&(_ZTV6G9x3y3[7]), 7,25},
+ {&(_ZTV6G9x3y3[12]), 12,25},
+ {&(_ZTV6G9x3y3[16]), 16,25},
+ {&(_ZTV6G9x3y3[20]), 20,25},
+ {&(_ZTV6G9x3y3[24]), 24,25},
+ {&(_tg__ZTV4E9x3__6G9x3y3[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y3[3]), 3,4},
+ {&(_tg__ZTV2C9__6G9x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y3[];
+extern VTBL_ENTRY _ZTV6G9x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y3[];
+Class_Descriptor cd_G9x3y3 = { "G9x3y3", // class name
+ bases_G9x3y3, 6,
+ &(vtc_G9x3y3[0]), // expected_vtbl_contents
+ &(vtt_G9x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G9x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y3),9, //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 G9x3y4 : E9x3 , F0 {
+ int ff;
+ ~G9x3y4(); // tgen
+ G9x3y4(); // tgen
+};
+//SIG(1 G9x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x3y4 ::~G9x3y4(){ note_dtor("G9x3y4", this);} // tgen
+G9x3y4 ::G9x3y4(){ note_ctor("G9x3y4", this);} // tgen
+
+static void Test_G9x3y4()
+{
+ extern Class_Descriptor cd_G9x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x3y4, buf);
+ G9x3y4 *dp, &lv = *(dp=new (buf) G9x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y4)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x3y4");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x3y4");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(24,16), "G9x3y4");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(48,32), "G9x3y4");
+ check_base_class_offset(lv, (E9x3*), 0, "G9x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G9x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x3y4.ff");
+ test_class_info(&lv, &cd_G9x3y4);
+ dp->~G9x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y4(Test_G9x3y4, "G9x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y4C1Ev();
+extern void _ZN6G9x3y4D1Ev();
+Name_Map name_map_G9x3y4[] = {
+ NSPAIR(_ZN6G9x3y4C1Ev),
+ NSPAIR(_ZN6G9x3y4D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C9, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI6G9x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y4[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y4[] = {
+ {&(_ZTV6G9x3y4[5]), 5,14},
+ {&(_tg__ZTV4E9x3__6G9x3y4[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y4[3]), 3,4},
+ {&(_ZTV6G9x3y4[9]), 9,14},
+ {&(_ZTV6G9x3y4[13]), 13,14},
+ {&(_tg__ZTV2C9__6G9x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y4[];
+extern VTBL_ENTRY _ZTV6G9x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y4[];
+Class_Descriptor cd_G9x3y4 = { "G9x3y4", // class name
+ bases_G9x3y4, 6,
+ &(vtc_G9x3y4[0]), // expected_vtbl_contents
+ &(vtt_G9x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y4),7, //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 G9x3y5 : virtual E9x3 , F0 {
+ int ff;
+ ~G9x3y5(); // tgen
+ G9x3y5(); // tgen
+};
+//SIG(1 G9x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x3y5 ::~G9x3y5(){ note_dtor("G9x3y5", this);} // tgen
+G9x3y5 ::G9x3y5(){ note_ctor("G9x3y5", this);} // tgen
+
+static void Test_G9x3y5()
+{
+ extern Class_Descriptor cd_G9x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x3y5, buf);
+ G9x3y5 *dp, &lv = *(dp=new (buf) G9x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y5)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x3y5");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x3y5");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(32,20), "G9x3y5");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(56,36), "G9x3y5");
+ check_base_class_offset(lv, (E9x3*), ABISELECT(16,12), "G9x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x3y5.ff");
+ test_class_info(&lv, &cd_G9x3y5);
+ dp->~G9x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y5(Test_G9x3y5, "G9x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y5C1Ev();
+extern void _ZN6G9x3y5D1Ev();
+Name_Map name_map_G9x3y5[] = {
+ NSPAIR(_ZN6G9x3y5C1Ev),
+ NSPAIR(_ZN6G9x3y5D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, 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_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 _ZTI6G9x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y5[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y5[] = {
+ {&(_ZTV6G9x3y5[6]), 6,20},
+ {&(_ZTV6G9x3y5[11]), 11,20},
+ {&(_ZTV6G9x3y5[15]), 15,20},
+ {&(_ZTV6G9x3y5[19]), 19,20},
+ {&(_tg__ZTV4E9x3__6G9x3y5[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y5[3]), 3,4},
+ {&(_tg__ZTV2C9__6G9x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y5[];
+extern VTBL_ENTRY _ZTV6G9x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y5[];
+Class_Descriptor cd_G9x3y5 = { "G9x3y5", // class name
+ bases_G9x3y5, 6,
+ &(vtc_G9x3y5[0]), // expected_vtbl_contents
+ &(vtt_G9x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y5),8, //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 G9x3y6 : E9x3 , virtual F0 {
+ int ff;
+ ~G9x3y6(); // tgen
+ G9x3y6(); // tgen
+};
+//SIG(1 G9x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x3y6 ::~G9x3y6(){ note_dtor("G9x3y6", this);} // tgen
+G9x3y6 ::G9x3y6(){ note_ctor("G9x3y6", this);} // tgen
+
+static void Test_G9x3y6()
+{
+ extern Class_Descriptor cd_G9x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x3y6, buf);
+ G9x3y6 *dp, &lv = *(dp=new (buf) G9x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y6)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "G9x3y6");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "G9x3y6");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(16,12), "G9x3y6");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(40,28), "G9x3y6");
+ check_base_class_offset(lv, (E9x3*), 0, "G9x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x3y6.ff");
+ test_class_info(&lv, &cd_G9x3y6);
+ dp->~G9x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y6(Test_G9x3y6, "G9x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y6C1Ev();
+extern void _ZN6G9x3y6D1Ev();
+Name_Map name_map_G9x3y6[] = {
+ NSPAIR(_ZN6G9x3y6C1Ev),
+ NSPAIR(_ZN6G9x3y6D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x3y6[] = {
+ // 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(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, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI6G9x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y6[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y6[] = {
+ {&(_ZTV6G9x3y6[6]), 6,15},
+ {&(_tg__ZTV4E9x3__6G9x3y6[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y6[3]), 3,4},
+ {&(_ZTV6G9x3y6[10]), 10,15},
+ {&(_ZTV6G9x3y6[14]), 14,15},
+ {&(_tg__ZTV2C9__6G9x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y6[];
+extern VTBL_ENTRY _ZTV6G9x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y6[];
+Class_Descriptor cd_G9x3y6 = { "G9x3y6", // class name
+ bases_G9x3y6, 6,
+ &(vtc_G9x3y6[0]), // expected_vtbl_contents
+ &(vtt_G9x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y6),7, //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 G9x3y7 : virtual E9x3 , virtual F0 {
+ int ff;
+ ~G9x3y7(); // tgen
+ G9x3y7(); // tgen
+};
+//SIG(1 G9x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x3y7 ::~G9x3y7(){ note_dtor("G9x3y7", this);} // tgen
+G9x3y7 ::G9x3y7(){ note_ctor("G9x3y7", this);} // tgen
+
+static void Test_G9x3y7()
+{
+ extern Class_Descriptor cd_G9x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x3y7, buf);
+ G9x3y7 *dp, &lv = *(dp=new (buf) G9x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x3y7)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,16), "G9x3y7");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,28), "G9x3y7");
+ check_base_class_offset(lv, (C9*)(E9x3*), ABISELECT(32,16), "G9x3y7");
+ check_base_class_offset(lv, (D1*)(E9x3*), ABISELECT(56,32), "G9x3y7");
+ check_base_class_offset(lv, (E9x3*), ABISELECT(16,8), "G9x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G9x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x3y7.ff");
+ test_class_info(&lv, &cd_G9x3y7);
+ dp->~G9x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x3y7(Test_G9x3y7, "G9x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x3y7C1Ev();
+extern void _ZN6G9x3y7D1Ev();
+Name_Map name_map_G9x3y7[] = {
+ NSPAIR(_ZN6G9x3y7C1Ev),
+ NSPAIR(_ZN6G9x3y7D1Ev),
+ {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_E9x3;
+extern VTBL_ENTRY _ZTI4E9x3[];
+extern VTBL_ENTRY _ZTV4E9x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,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, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x3, ABISELECT(16,8), //bcp->offset
+ 7, //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 _ZTI6G9x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G9x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x3y7[];
+static VTBL_ENTRY _tg__ZTV4E9x3__6G9x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x3__6G9x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__4E9x3__6G9x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x3y7[] = {
+ {&(_ZTV6G9x3y7[7]), 7,21},
+ {&(_ZTV6G9x3y7[12]), 12,21},
+ {&(_ZTV6G9x3y7[16]), 16,21},
+ {&(_ZTV6G9x3y7[20]), 20,21},
+ {&(_tg__ZTV4E9x3__6G9x3y7[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x3__6G9x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__4E9x3__6G9x3y7[3]), 3,4},
+ {&(_tg__ZTV2C9__6G9x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x3y7[];
+extern VTBL_ENTRY _ZTV6G9x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x3y7[];
+Class_Descriptor cd_G9x3y7 = { "G9x3y7", // class name
+ bases_G9x3y7, 6,
+ &(vtc_G9x3y7[0]), // expected_vtbl_contents
+ &(vtt_G9x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x3y7),8, //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 E10x3 : virtual C10 , virtual D1 {
+ int fd;
+ ~E10x3(); // tgen
+ E10x3(); // tgen
+};
+//SIG(-1 E10x3) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} Fi} VBC5{ v1 Fi} Fi}
+
+
+E10x3 ::~E10x3(){ note_dtor("E10x3", this);} // tgen
+E10x3 ::E10x3(){ note_ctor("E10x3", this);} // tgen
+
+static void Test_E10x3()
+{
+ extern Class_Descriptor cd_E10x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E10x3, buf);
+ E10x3 *dp, &lv = *(dp=new (buf) E10x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E10x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x3)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,16), "E10x3");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,20), "E10x3");
+ check_base_class_offset(lv, (C10*), ABISELECT(16,8), "E10x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E10x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E10x3.fd");
+ test_class_info(&lv, &cd_E10x3);
+ dp->~E10x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x3(Test_E10x3, "E10x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E10x3C1Ev();
+extern void _ZN5E10x3D1Ev();
+Name_Map name_map_E10x3[] = {
+ NSPAIR(_ZN5E10x3C1Ev),
+ NSPAIR(_ZN5E10x3D1Ev),
+ {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_E10x3[] = {
+ // 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, 1},
+ {&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, 1},
+ {&cd_C10, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI5E10x3[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E10x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E10x3[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x3[] = {
+ {&(_ZTV5E10x3[6]), 6,14},
+ {&(_ZTV5E10x3[10]), 10,14},
+ {&(_ZTV5E10x3[13]), 13,14},
+ {&(_tg__ZTV3C10__5E10x3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+Class_Descriptor cd_E10x3 = { "E10x3", // class name
+ bases_E10x3, 4,
+ &(vtc_E10x3[0]), // expected_vtbl_contents
+ &(vtt_E10x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E10x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x3),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x3),4, //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 G10x3y0 : E10x3 , F1 {
+ int ff;
+ ~G10x3y0(); // tgen
+ G10x3y0(); // tgen
+};
+//SIG(1 G10x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x3y0 ::~G10x3y0(){ note_dtor("G10x3y0", this);} // tgen
+G10x3y0 ::G10x3y0(){ note_ctor("G10x3y0", this);} // tgen
+
+static void Test_G10x3y0()
+{
+ extern Class_Descriptor cd_G10x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x3y0, buf);
+ G10x3y0 *dp, &lv = *(dp=new (buf) G10x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y0)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x3y0");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x3y0");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(32,20), "G10x3y0");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(56,36), "G10x3y0");
+ check_base_class_offset(lv, (E10x3*), 0, "G10x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G10x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G10x3y0.ff");
+ test_class_info(&lv, &cd_G10x3y0);
+ dp->~G10x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y0(Test_G10x3y0, "G10x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y0C1Ev();
+extern void _ZN7G10x3y0D1Ev();
+Name_Map name_map_G10x3y0[] = {
+ NSPAIR(_ZN7G10x3y0C1Ev),
+ NSPAIR(_ZN7G10x3y0D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x3y0[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y0[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y0[] = {
+ {&(_ZTV7G10x3y0[6]), 6,17},
+ {&(_tg__ZTV5E10x3__7G10x3y0[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y0[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y0[3]), 3,4},
+ {&(_ZTV7G10x3y0[13]), 13,17},
+ {&(_ZTV7G10x3y0[16]), 16,17},
+ {&(_tg__ZTV3C10__7G10x3y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y0[];
+extern VTBL_ENTRY _ZTV7G10x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y0[];
+Class_Descriptor cd_G10x3y0 = { "G10x3y0", // class name
+ bases_G10x3y0, 6,
+ &(vtc_G10x3y0[0]), // expected_vtbl_contents
+ &(vtt_G10x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y0),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y0),7, //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 G10x3y1 : virtual E10x3 , F1 {
+ int ff;
+ ~G10x3y1(); // tgen
+ G10x3y1(); // tgen
+};
+//SIG(1 G10x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G10x3y1 ::~G10x3y1(){ note_dtor("G10x3y1", this);} // tgen
+G10x3y1 ::G10x3y1(){ note_ctor("G10x3y1", this);} // tgen
+
+static void Test_G10x3y1()
+{
+ extern Class_Descriptor cd_G10x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x3y1, buf);
+ G10x3y1 *dp, &lv = *(dp=new (buf) G10x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y1)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x3y1");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x3y1");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(32,20), "G10x3y1");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(56,36), "G10x3y1");
+ check_base_class_offset(lv, (E10x3*), ABISELECT(16,12), "G10x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x3y1.ff");
+ test_class_info(&lv, &cd_G10x3y1);
+ dp->~G10x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y1(Test_G10x3y1, "G10x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y1C1Ev();
+extern void _ZN7G10x3y1D1Ev();
+Name_Map name_map_G10x3y1[] = {
+ NSPAIR(_ZN7G10x3y1C1Ev),
+ NSPAIR(_ZN7G10x3y1D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G10x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x3y1[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y1[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y1[] = {
+ {&(_ZTV7G10x3y1[7]), 7,22},
+ {&(_ZTV7G10x3y1[14]), 14,22},
+ {&(_ZTV7G10x3y1[18]), 18,22},
+ {&(_ZTV7G10x3y1[21]), 21,22},
+ {&(_tg__ZTV5E10x3__7G10x3y1[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y1[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y1[3]), 3,4},
+ {&(_tg__ZTV3C10__7G10x3y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y1[];
+extern VTBL_ENTRY _ZTV7G10x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y1[];
+Class_Descriptor cd_G10x3y1 = { "G10x3y1", // class name
+ bases_G10x3y1, 6,
+ &(vtc_G10x3y1[0]), // expected_vtbl_contents
+ &(vtt_G10x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y1),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y1),8, //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 G10x3y2 : E10x3 , virtual F1 {
+ int ff;
+ ~G10x3y2(); // tgen
+ G10x3y2(); // tgen
+};
+//SIG(1 G10x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x3y2 ::~G10x3y2(){ note_dtor("G10x3y2", this);} // tgen
+G10x3y2 ::G10x3y2(){ note_ctor("G10x3y2", this);} // tgen
+
+static void Test_G10x3y2()
+{
+ extern Class_Descriptor cd_G10x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x3y2, buf);
+ G10x3y2 *dp, &lv = *(dp=new (buf) G10x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y2)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "G10x3y2");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "G10x3y2");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(16,12), "G10x3y2");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(40,28), "G10x3y2");
+ check_base_class_offset(lv, (E10x3*), 0, "G10x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x3y2.ff");
+ test_class_info(&lv, &cd_G10x3y2);
+ dp->~G10x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y2(Test_G10x3y2, "G10x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y2C1Ev();
+extern void _ZN7G10x3y2D1Ev();
+Name_Map name_map_G10x3y2[] = {
+ NSPAIR(_ZN7G10x3y2C1Ev),
+ NSPAIR(_ZN7G10x3y2D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x3y2[] = {
+ // 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, 1},
+ {&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_C10, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(56,36), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x3y2[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x3y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y2[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y2[] = {
+ {&(_ZTV7G10x3y2[7]), 7,19},
+ {&(_tg__ZTV5E10x3__7G10x3y2[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y2[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y2[3]), 3,4},
+ {&(_ZTV7G10x3y2[11]), 11,19},
+ {&(_ZTV7G10x3y2[14]), 14,19},
+ {&(_ZTV7G10x3y2[18]), 18,19},
+ {&(_tg__ZTV3C10__7G10x3y2[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y2[];
+extern VTBL_ENTRY _ZTV7G10x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y2[];
+Class_Descriptor cd_G10x3y2 = { "G10x3y2", // class name
+ bases_G10x3y2, 6,
+ &(vtc_G10x3y2[0]), // expected_vtbl_contents
+ &(vtt_G10x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y2),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y2),8, //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 G10x3y3 : virtual E10x3 , virtual F1 {
+ int ff;
+ ~G10x3y3(); // tgen
+ G10x3y3(); // tgen
+};
+//SIG(1 G10x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G10x3y3 ::~G10x3y3(){ note_dtor("G10x3y3", this);} // tgen
+G10x3y3 ::G10x3y3(){ note_ctor("G10x3y3", this);} // tgen
+
+static void Test_G10x3y3()
+{
+ extern Class_Descriptor cd_G10x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G10x3y3, buf);
+ G10x3y3 *dp, &lv = *(dp=new (buf) G10x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G10x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y3)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,24), "G10x3y3");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,28), "G10x3y3");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(32,16), "G10x3y3");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(56,32), "G10x3y3");
+ check_base_class_offset(lv, (E10x3*), ABISELECT(16,8), "G10x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G10x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x3y3.ff");
+ test_class_info(&lv, &cd_G10x3y3);
+ dp->~G10x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y3(Test_G10x3y3, "G10x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y3C1Ev();
+extern void _ZN7G10x3y3D1Ev();
+Name_Map name_map_G10x3y3[] = {
+ NSPAIR(_ZN7G10x3y3C1Ev),
+ NSPAIR(_ZN7G10x3y3D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(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_C10, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 22, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x3y3[];
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x3y3[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G10x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y3[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y3[] = {
+ {&(_ZTV7G10x3y3[8]), 8,26},
+ {&(_ZTV7G10x3y3[14]), 14,26},
+ {&(_ZTV7G10x3y3[18]), 18,26},
+ {&(_ZTV7G10x3y3[21]), 21,26},
+ {&(_ZTV7G10x3y3[25]), 25,26},
+ {&(_tg__ZTV5E10x3__7G10x3y3[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y3[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y3[3]), 3,4},
+ {&(_tg__ZTV3C10__7G10x3y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y3[];
+extern VTBL_ENTRY _ZTV7G10x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y3[];
+Class_Descriptor cd_G10x3y3 = { "G10x3y3", // class name
+ bases_G10x3y3, 6,
+ &(vtc_G10x3y3[0]), // expected_vtbl_contents
+ &(vtt_G10x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G10x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y3),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y3),9, //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 G10x3y4 : E10x3 , F0 {
+ int ff;
+ ~G10x3y4(); // tgen
+ G10x3y4(); // tgen
+};
+//SIG(1 G10x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x3y4 ::~G10x3y4(){ note_dtor("G10x3y4", this);} // tgen
+G10x3y4 ::G10x3y4(){ note_ctor("G10x3y4", this);} // tgen
+
+static void Test_G10x3y4()
+{
+ extern Class_Descriptor cd_G10x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x3y4, buf);
+ G10x3y4 *dp, &lv = *(dp=new (buf) G10x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y4)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x3y4");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x3y4");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(24,16), "G10x3y4");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(48,32), "G10x3y4");
+ check_base_class_offset(lv, (E10x3*), 0, "G10x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G10x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x3y4.ff");
+ test_class_info(&lv, &cd_G10x3y4);
+ dp->~G10x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y4(Test_G10x3y4, "G10x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y4C1Ev();
+extern void _ZN7G10x3y4D1Ev();
+Name_Map name_map_G10x3y4[] = {
+ NSPAIR(_ZN7G10x3y4C1Ev),
+ NSPAIR(_ZN7G10x3y4D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x3y4[] = {
+ // 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, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G10x3y4[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x3y4[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y4[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y4[] = {
+ {&(_ZTV7G10x3y4[6]), 6,14},
+ {&(_tg__ZTV5E10x3__7G10x3y4[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y4[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y4[3]), 3,4},
+ {&(_ZTV7G10x3y4[10]), 10,14},
+ {&(_ZTV7G10x3y4[13]), 13,14},
+ {&(_tg__ZTV3C10__7G10x3y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y4[];
+extern VTBL_ENTRY _ZTV7G10x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y4[];
+Class_Descriptor cd_G10x3y4 = { "G10x3y4", // class name
+ bases_G10x3y4, 6,
+ &(vtc_G10x3y4[0]), // expected_vtbl_contents
+ &(vtt_G10x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y4),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y4),7, //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 G10x3y5 : virtual E10x3 , F0 {
+ int ff;
+ ~G10x3y5(); // tgen
+ G10x3y5(); // tgen
+};
+//SIG(1 G10x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x3y5 ::~G10x3y5(){ note_dtor("G10x3y5", this);} // tgen
+G10x3y5 ::G10x3y5(){ note_ctor("G10x3y5", this);} // tgen
+
+static void Test_G10x3y5()
+{
+ extern Class_Descriptor cd_G10x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x3y5, buf);
+ G10x3y5 *dp, &lv = *(dp=new (buf) G10x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y5)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x3y5");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x3y5");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(32,20), "G10x3y5");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(56,36), "G10x3y5");
+ check_base_class_offset(lv, (E10x3*), ABISELECT(16,12), "G10x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x3y5.ff");
+ test_class_info(&lv, &cd_G10x3y5);
+ dp->~G10x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y5(Test_G10x3y5, "G10x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y5C1Ev();
+extern void _ZN7G10x3y5D1Ev();
+Name_Map name_map_G10x3y5[] = {
+ NSPAIR(_ZN7G10x3y5C1Ev),
+ NSPAIR(_ZN7G10x3y5D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C10, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G10x3y5[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x3y5[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y5[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y5[] = {
+ {&(_ZTV7G10x3y5[7]), 7,21},
+ {&(_ZTV7G10x3y5[13]), 13,21},
+ {&(_ZTV7G10x3y5[17]), 17,21},
+ {&(_ZTV7G10x3y5[20]), 20,21},
+ {&(_tg__ZTV5E10x3__7G10x3y5[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y5[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y5[3]), 3,4},
+ {&(_tg__ZTV3C10__7G10x3y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y5[];
+extern VTBL_ENTRY _ZTV7G10x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y5[];
+Class_Descriptor cd_G10x3y5 = { "G10x3y5", // class name
+ bases_G10x3y5, 6,
+ &(vtc_G10x3y5[0]), // expected_vtbl_contents
+ &(vtt_G10x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y5),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y5),8, //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 G10x3y6 : E10x3 , virtual F0 {
+ int ff;
+ ~G10x3y6(); // tgen
+ G10x3y6(); // tgen
+};
+//SIG(1 G10x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x3y6 ::~G10x3y6(){ note_dtor("G10x3y6", this);} // tgen
+G10x3y6 ::G10x3y6(){ note_ctor("G10x3y6", this);} // tgen
+
+static void Test_G10x3y6()
+{
+ extern Class_Descriptor cd_G10x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x3y6, buf);
+ G10x3y6 *dp, &lv = *(dp=new (buf) G10x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y6)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "G10x3y6");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "G10x3y6");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(16,12), "G10x3y6");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(40,28), "G10x3y6");
+ check_base_class_offset(lv, (E10x3*), 0, "G10x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G10x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x3y6.ff");
+ test_class_info(&lv, &cd_G10x3y6);
+ dp->~G10x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y6(Test_G10x3y6, "G10x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y6C1Ev();
+extern void _ZN7G10x3y6D1Ev();
+Name_Map name_map_G10x3y6[] = {
+ NSPAIR(_ZN7G10x3y6C1Ev),
+ NSPAIR(_ZN7G10x3y6D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x3y6[] = {
+ // 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, 1},
+ {&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_C10, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G10x3y6[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x3y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y6[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y6[] = {
+ {&(_ZTV7G10x3y6[7]), 7,15},
+ {&(_tg__ZTV5E10x3__7G10x3y6[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y6[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y6[3]), 3,4},
+ {&(_ZTV7G10x3y6[11]), 11,15},
+ {&(_ZTV7G10x3y6[14]), 14,15},
+ {&(_tg__ZTV3C10__7G10x3y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y6[];
+extern VTBL_ENTRY _ZTV7G10x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y6[];
+Class_Descriptor cd_G10x3y6 = { "G10x3y6", // class name
+ bases_G10x3y6, 6,
+ &(vtc_G10x3y6[0]), // expected_vtbl_contents
+ &(vtt_G10x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y6),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y6),7, //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 G10x3y7 : virtual E10x3 , virtual F0 {
+ int ff;
+ ~G10x3y7(); // tgen
+ G10x3y7(); // tgen
+};
+//SIG(1 G10x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ v1 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x3y7 ::~G10x3y7(){ note_dtor("G10x3y7", this);} // tgen
+G10x3y7 ::G10x3y7(){ note_ctor("G10x3y7", this);} // tgen
+
+static void Test_G10x3y7()
+{
+ extern Class_Descriptor cd_G10x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x3y7, buf);
+ G10x3y7 *dp, &lv = *(dp=new (buf) G10x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x3y7)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,24), "G10x3y7");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,28), "G10x3y7");
+ check_base_class_offset(lv, (C10*)(E10x3*), ABISELECT(32,16), "G10x3y7");
+ check_base_class_offset(lv, (D1*)(E10x3*), ABISELECT(56,32), "G10x3y7");
+ check_base_class_offset(lv, (E10x3*), ABISELECT(16,8), "G10x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G10x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x3y7.ff");
+ test_class_info(&lv, &cd_G10x3y7);
+ dp->~G10x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x3y7(Test_G10x3y7, "G10x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x3y7C1Ev();
+extern void _ZN7G10x3y7D1Ev();
+Name_Map name_map_G10x3y7[] = {
+ NSPAIR(_ZN7G10x3y7C1Ev),
+ NSPAIR(_ZN7G10x3y7D1Ev),
+ {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_E10x3;
+extern VTBL_ENTRY _ZTI5E10x3[];
+extern VTBL_ENTRY _ZTV5E10x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(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_C10, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 18, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G10x3y7[];
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G10x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x3y7[0]),
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x3y7[];
+static VTBL_ENTRY _tg__ZTV5E10x3__7G10x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x3__7G10x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E10x3__7G10x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x3y7[] = {
+ {&(_ZTV7G10x3y7[8]), 8,22},
+ {&(_ZTV7G10x3y7[14]), 14,22},
+ {&(_ZTV7G10x3y7[18]), 18,22},
+ {&(_ZTV7G10x3y7[21]), 21,22},
+ {&(_tg__ZTV5E10x3__7G10x3y7[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x3__7G10x3y7[4]), 4,4},
+ {&(_tg__ZTV2D1__5E10x3__7G10x3y7[3]), 3,4},
+ {&(_tg__ZTV3C10__7G10x3y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x3y7[];
+extern VTBL_ENTRY _ZTV7G10x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x3y7[];
+Class_Descriptor cd_G10x3y7 = { "G10x3y7", // class name
+ bases_G10x3y7, 6,
+ &(vtc_G10x3y7[0]), // expected_vtbl_contents
+ &(vtt_G10x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x3y7),22, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x3y7),8, //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 E11x3 : virtual C11 , virtual D1 {
+ int fd;
+ ~E11x3(); // tgen
+ E11x3(); // tgen
+};
+//SIG(-1 E11x3) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E11x3 ::~E11x3(){ note_dtor("E11x3", this);} // tgen
+E11x3 ::E11x3(){ note_ctor("E11x3", this);} // tgen
+
+static void Test_E11x3()
+{
+ extern Class_Descriptor cd_E11x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E11x3, buf);
+ E11x3 *dp, &lv = *(dp=new (buf) E11x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E11x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x3)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,16), "E11x3");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,24), "E11x3");
+ check_base_class_offset(lv, (C11*), ABISELECT(16,8), "E11x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E11x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E11x3.fd");
+ test_class_info(&lv, &cd_E11x3);
+ dp->~E11x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x3(Test_E11x3, "E11x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E11x3C1Ev();
+extern void _ZN5E11x3D1Ev();
+Name_Map name_map_E11x3[] = {
+ NSPAIR(_ZN5E11x3C1Ev),
+ NSPAIR(_ZN5E11x3D1Ev),
+ {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_E11x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //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(44,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_C11, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E11x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x3[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x3[] = {
+ {&(_ZTV5E11x3[6]), 6,18},
+ {&(_ZTV5E11x3[10]), 10,18},
+ {&(_ZTV5E11x3[13]), 13,18},
+ {&(_ZTV5E11x3[17]), 17,18},
+ {&(_tg__ZTV3C11__5E11x3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+Class_Descriptor cd_E11x3 = { "E11x3", // class name
+ bases_E11x3, 4,
+ &(vtc_E11x3[0]), // expected_vtbl_contents
+ &(vtt_E11x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E11x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x3),6, //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 G11x3y0 : E11x3 , F1 {
+ int ff;
+ ~G11x3y0(); // tgen
+ G11x3y0(); // tgen
+};
+//SIG(1 G11x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x3y0 ::~G11x3y0(){ note_dtor("G11x3y0", this);} // tgen
+G11x3y0 ::G11x3y0(){ note_ctor("G11x3y0", this);} // tgen
+
+static void Test_G11x3y0()
+{
+ extern Class_Descriptor cd_G11x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x3y0, buf);
+ G11x3y0 *dp, &lv = *(dp=new (buf) G11x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y0)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x3y0");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x3y0");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(32,20), "G11x3y0");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(64,40), "G11x3y0");
+ check_base_class_offset(lv, (E11x3*), 0, "G11x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G11x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G11x3y0.ff");
+ test_class_info(&lv, &cd_G11x3y0);
+ dp->~G11x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y0(Test_G11x3y0, "G11x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y0C1Ev();
+extern void _ZN7G11x3y0D1Ev();
+Name_Map name_map_G11x3y0[] = {
+ NSPAIR(_ZN7G11x3y0C1Ev),
+ NSPAIR(_ZN7G11x3y0D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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
+ 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(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x3y0[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y0[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y0[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y0[] = {
+ {&(_ZTV7G11x3y0[6]), 6,21},
+ {&(_tg__ZTV5E11x3__7G11x3y0[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y0[3]), 3,4},
+ {&(_ZTV7G11x3y0[13]), 13,21},
+ {&(_ZTV7G11x3y0[16]), 16,21},
+ {&(_ZTV7G11x3y0[20]), 20,21},
+ {&(_tg__ZTV3C11__7G11x3y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y0[];
+extern VTBL_ENTRY _ZTV7G11x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y0[];
+Class_Descriptor cd_G11x3y0 = { "G11x3y0", // class name
+ bases_G11x3y0, 6,
+ &(vtc_G11x3y0[0]), // expected_vtbl_contents
+ &(vtt_G11x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y0),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y0),10, //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 G11x3y1 : virtual E11x3 , F1 {
+ int ff;
+ ~G11x3y1(); // tgen
+ G11x3y1(); // tgen
+};
+//SIG(1 G11x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G11x3y1 ::~G11x3y1(){ note_dtor("G11x3y1", this);} // tgen
+G11x3y1 ::G11x3y1(){ note_ctor("G11x3y1", this);} // tgen
+
+static void Test_G11x3y1()
+{
+ extern Class_Descriptor cd_G11x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x3y1, buf);
+ G11x3y1 *dp, &lv = *(dp=new (buf) G11x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y1)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x3y1");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x3y1");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(32,20), "G11x3y1");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(64,40), "G11x3y1");
+ check_base_class_offset(lv, (E11x3*), ABISELECT(16,12), "G11x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x3y1.ff");
+ test_class_info(&lv, &cd_G11x3y1);
+ dp->~G11x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y1(Test_G11x3y1, "G11x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y1C1Ev();
+extern void _ZN7G11x3y1D1Ev();
+Name_Map name_map_G11x3y1[] = {
+ NSPAIR(_ZN7G11x3y1C1Ev),
+ NSPAIR(_ZN7G11x3y1D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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(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(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G11x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x3y1[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x3y1[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y1[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y1[] = {
+ {&(_ZTV7G11x3y1[7]), 7,26},
+ {&(_ZTV7G11x3y1[14]), 14,26},
+ {&(_ZTV7G11x3y1[18]), 18,26},
+ {&(_ZTV7G11x3y1[21]), 21,26},
+ {&(_ZTV7G11x3y1[25]), 25,26},
+ {&(_tg__ZTV5E11x3__7G11x3y1[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y1[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x3y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y1[];
+extern VTBL_ENTRY _ZTV7G11x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y1[];
+Class_Descriptor cd_G11x3y1 = { "G11x3y1", // class name
+ bases_G11x3y1, 6,
+ &(vtc_G11x3y1[0]), // expected_vtbl_contents
+ &(vtt_G11x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y1),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y1),11, //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 G11x3y2 : E11x3 , virtual F1 {
+ int ff;
+ ~G11x3y2(); // tgen
+ G11x3y2(); // tgen
+};
+//SIG(1 G11x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x3y2 ::~G11x3y2(){ note_dtor("G11x3y2", this);} // tgen
+G11x3y2 ::G11x3y2(){ note_ctor("G11x3y2", this);} // tgen
+
+static void Test_G11x3y2()
+{
+ extern Class_Descriptor cd_G11x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x3y2, buf);
+ G11x3y2 *dp, &lv = *(dp=new (buf) G11x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y2)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "G11x3y2");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "G11x3y2");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(16,12), "G11x3y2");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(48,32), "G11x3y2");
+ check_base_class_offset(lv, (E11x3*), 0, "G11x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x3y2.ff");
+ test_class_info(&lv, &cd_G11x3y2);
+ dp->~G11x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y2(Test_G11x3y2, "G11x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y2C1Ev();
+extern void _ZN7G11x3y2D1Ev();
+Name_Map name_map_G11x3y2[] = {
+ NSPAIR(_ZN7G11x3y2C1Ev),
+ NSPAIR(_ZN7G11x3y2D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 11, //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
+ 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, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(64,40), //bcp->offset
+ 19, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y2[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x3y2[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y2[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y2[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y2[] = {
+ {&(_ZTV7G11x3y2[7]), 7,23},
+ {&(_tg__ZTV5E11x3__7G11x3y2[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y2[3]), 3,4},
+ {&(_ZTV7G11x3y2[11]), 11,23},
+ {&(_ZTV7G11x3y2[14]), 14,23},
+ {&(_ZTV7G11x3y2[18]), 18,23},
+ {&(_ZTV7G11x3y2[22]), 22,23},
+ {&(_tg__ZTV3C11__7G11x3y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y2[];
+extern VTBL_ENTRY _ZTV7G11x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y2[];
+Class_Descriptor cd_G11x3y2 = { "G11x3y2", // class name
+ bases_G11x3y2, 6,
+ &(vtc_G11x3y2[0]), // expected_vtbl_contents
+ &(vtt_G11x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y2),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y2),11, //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 G11x3y3 : virtual E11x3 , virtual F1 {
+ int ff;
+ ~G11x3y3(); // tgen
+ G11x3y3(); // tgen
+};
+//SIG(1 G11x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G11x3y3 ::~G11x3y3(){ note_dtor("G11x3y3", this);} // tgen
+G11x3y3 ::G11x3y3(){ note_ctor("G11x3y3", this);} // tgen
+
+static void Test_G11x3y3()
+{
+ extern Class_Descriptor cd_G11x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G11x3y3, buf);
+ G11x3y3 *dp, &lv = *(dp=new (buf) G11x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G11x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y3)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,24), "G11x3y3");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,32), "G11x3y3");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(32,16), "G11x3y3");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(64,36), "G11x3y3");
+ check_base_class_offset(lv, (E11x3*), ABISELECT(16,8), "G11x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G11x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x3y3.ff");
+ test_class_info(&lv, &cd_G11x3y3);
+ dp->~G11x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y3(Test_G11x3y3, "G11x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y3C1Ev();
+extern void _ZN7G11x3y3D1Ev();
+Name_Map name_map_G11x3y3[] = {
+ NSPAIR(_ZN7G11x3y3C1Ev),
+ NSPAIR(_ZN7G11x3y3D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 18, //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(60,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, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 26, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G11x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y3[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y3[] = {
+ {&(_ZTV7G11x3y3[8]), 8,30},
+ {&(_ZTV7G11x3y3[14]), 14,30},
+ {&(_ZTV7G11x3y3[18]), 18,30},
+ {&(_ZTV7G11x3y3[21]), 21,30},
+ {&(_ZTV7G11x3y3[25]), 25,30},
+ {&(_ZTV7G11x3y3[29]), 29,30},
+ {&(_tg__ZTV5E11x3__7G11x3y3[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y3[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x3y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y3[];
+extern VTBL_ENTRY _ZTV7G11x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y3[];
+Class_Descriptor cd_G11x3y3 = { "G11x3y3", // class name
+ bases_G11x3y3, 6,
+ &(vtc_G11x3y3[0]), // expected_vtbl_contents
+ &(vtt_G11x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G11x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y3),30, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y3),12, //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 G11x3y4 : E11x3 , F0 {
+ int ff;
+ ~G11x3y4(); // tgen
+ G11x3y4(); // tgen
+};
+//SIG(1 G11x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x3y4 ::~G11x3y4(){ note_dtor("G11x3y4", this);} // tgen
+G11x3y4 ::G11x3y4(){ note_ctor("G11x3y4", this);} // tgen
+
+static void Test_G11x3y4()
+{
+ extern Class_Descriptor cd_G11x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x3y4, buf);
+ G11x3y4 *dp, &lv = *(dp=new (buf) G11x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y4)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x3y4");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x3y4");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(24,16), "G11x3y4");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(56,36), "G11x3y4");
+ check_base_class_offset(lv, (E11x3*), 0, "G11x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G11x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x3y4.ff");
+ test_class_info(&lv, &cd_G11x3y4);
+ dp->~G11x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y4(Test_G11x3y4, "G11x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y4C1Ev();
+extern void _ZN7G11x3y4D1Ev();
+Name_Map name_map_G11x3y4[] = {
+ NSPAIR(_ZN7G11x3y4C1Ev),
+ NSPAIR(_ZN7G11x3y4D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 10, //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
+ 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, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G11x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y4[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x3y4[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y4[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y4[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y4[] = {
+ {&(_ZTV7G11x3y4[6]), 6,18},
+ {&(_tg__ZTV5E11x3__7G11x3y4[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y4[3]), 3,4},
+ {&(_ZTV7G11x3y4[10]), 10,18},
+ {&(_ZTV7G11x3y4[13]), 13,18},
+ {&(_ZTV7G11x3y4[17]), 17,18},
+ {&(_tg__ZTV3C11__7G11x3y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y4[];
+extern VTBL_ENTRY _ZTV7G11x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y4[];
+Class_Descriptor cd_G11x3y4 = { "G11x3y4", // class name
+ bases_G11x3y4, 6,
+ &(vtc_G11x3y4[0]), // expected_vtbl_contents
+ &(vtt_G11x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y4),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y4),10, //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 G11x3y5 : virtual E11x3 , F0 {
+ int ff;
+ ~G11x3y5(); // tgen
+ G11x3y5(); // tgen
+};
+//SIG(1 G11x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x3y5 ::~G11x3y5(){ note_dtor("G11x3y5", this);} // tgen
+G11x3y5 ::G11x3y5(){ note_ctor("G11x3y5", this);} // tgen
+
+static void Test_G11x3y5()
+{
+ extern Class_Descriptor cd_G11x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x3y5, buf);
+ G11x3y5 *dp, &lv = *(dp=new (buf) G11x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y5)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x3y5");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x3y5");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(32,20), "G11x3y5");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(64,40), "G11x3y5");
+ check_base_class_offset(lv, (E11x3*), ABISELECT(16,12), "G11x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x3y5.ff");
+ test_class_info(&lv, &cd_G11x3y5);
+ dp->~G11x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y5(Test_G11x3y5, "G11x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y5C1Ev();
+extern void _ZN7G11x3y5D1Ev();
+Name_Map name_map_G11x3y5[] = {
+ NSPAIR(_ZN7G11x3y5C1Ev),
+ NSPAIR(_ZN7G11x3y5D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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(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(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G11x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x3y5[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x3y5[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y5[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y5[] = {
+ {&(_ZTV7G11x3y5[7]), 7,25},
+ {&(_ZTV7G11x3y5[13]), 13,25},
+ {&(_ZTV7G11x3y5[17]), 17,25},
+ {&(_ZTV7G11x3y5[20]), 20,25},
+ {&(_ZTV7G11x3y5[24]), 24,25},
+ {&(_tg__ZTV5E11x3__7G11x3y5[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y5[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x3y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y5[];
+extern VTBL_ENTRY _ZTV7G11x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y5[];
+Class_Descriptor cd_G11x3y5 = { "G11x3y5", // class name
+ bases_G11x3y5, 6,
+ &(vtc_G11x3y5[0]), // expected_vtbl_contents
+ &(vtt_G11x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y5),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y5),11, //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 G11x3y6 : E11x3 , virtual F0 {
+ int ff;
+ ~G11x3y6(); // tgen
+ G11x3y6(); // tgen
+};
+//SIG(1 G11x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x3y6 ::~G11x3y6(){ note_dtor("G11x3y6", this);} // tgen
+G11x3y6 ::G11x3y6(){ note_ctor("G11x3y6", this);} // tgen
+
+static void Test_G11x3y6()
+{
+ extern Class_Descriptor cd_G11x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x3y6, buf);
+ G11x3y6 *dp, &lv = *(dp=new (buf) G11x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y6)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "G11x3y6");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "G11x3y6");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(16,12), "G11x3y6");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(48,32), "G11x3y6");
+ check_base_class_offset(lv, (E11x3*), 0, "G11x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G11x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x3y6.ff");
+ test_class_info(&lv, &cd_G11x3y6);
+ dp->~G11x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y6(Test_G11x3y6, "G11x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y6C1Ev();
+extern void _ZN7G11x3y6D1Ev();
+Name_Map name_map_G11x3y6[] = {
+ NSPAIR(_ZN7G11x3y6C1Ev),
+ NSPAIR(_ZN7G11x3y6D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 11, //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
+ 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, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G11x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y6[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x3y6[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y6[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y6[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y6[] = {
+ {&(_ZTV7G11x3y6[7]), 7,19},
+ {&(_tg__ZTV5E11x3__7G11x3y6[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y6[3]), 3,4},
+ {&(_ZTV7G11x3y6[11]), 11,19},
+ {&(_ZTV7G11x3y6[14]), 14,19},
+ {&(_ZTV7G11x3y6[18]), 18,19},
+ {&(_tg__ZTV3C11__7G11x3y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y6[];
+extern VTBL_ENTRY _ZTV7G11x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y6[];
+Class_Descriptor cd_G11x3y6 = { "G11x3y6", // class name
+ bases_G11x3y6, 6,
+ &(vtc_G11x3y6[0]), // expected_vtbl_contents
+ &(vtt_G11x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y6),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y6),10, //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 G11x3y7 : virtual E11x3 , virtual F0 {
+ int ff;
+ ~G11x3y7(); // tgen
+ G11x3y7(); // tgen
+};
+//SIG(1 G11x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x3y7 ::~G11x3y7(){ note_dtor("G11x3y7", this);} // tgen
+G11x3y7 ::G11x3y7(){ note_ctor("G11x3y7", this);} // tgen
+
+static void Test_G11x3y7()
+{
+ extern Class_Descriptor cd_G11x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x3y7, buf);
+ G11x3y7 *dp, &lv = *(dp=new (buf) G11x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x3y7)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,24), "G11x3y7");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,32), "G11x3y7");
+ check_base_class_offset(lv, (C11*)(E11x3*), ABISELECT(32,16), "G11x3y7");
+ check_base_class_offset(lv, (D1*)(E11x3*), ABISELECT(64,36), "G11x3y7");
+ check_base_class_offset(lv, (E11x3*), ABISELECT(16,8), "G11x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G11x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x3y7.ff");
+ test_class_info(&lv, &cd_G11x3y7);
+ dp->~G11x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x3y7(Test_G11x3y7, "G11x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x3y7C1Ev();
+extern void _ZN7G11x3y7D1Ev();
+Name_Map name_map_G11x3y7[] = {
+ NSPAIR(_ZN7G11x3y7C1Ev),
+ NSPAIR(_ZN7G11x3y7D1Ev),
+ {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_E11x3;
+extern VTBL_ENTRY _ZTI5E11x3[];
+extern VTBL_ENTRY _ZTV5E11x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 18, //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(60,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, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G11x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G11x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x3y7[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x3y7[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x3y7[];
+static VTBL_ENTRY _tg__ZTV5E11x3__7G11x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x3__7G11x3y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x3__7G11x3y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E11x3__7G11x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x3y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x3y7[] = {
+ {&(_ZTV7G11x3y7[8]), 8,26},
+ {&(_ZTV7G11x3y7[14]), 14,26},
+ {&(_ZTV7G11x3y7[18]), 18,26},
+ {&(_ZTV7G11x3y7[21]), 21,26},
+ {&(_ZTV7G11x3y7[25]), 25,26},
+ {&(_tg__ZTV5E11x3__7G11x3y7[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x3__7G11x3y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x3__7G11x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E11x3__7G11x3y7[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x3y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x3y7[];
+extern VTBL_ENTRY _ZTV7G11x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x3y7[];
+Class_Descriptor cd_G11x3y7 = { "G11x3y7", // class name
+ bases_G11x3y7, 6,
+ &(vtc_G11x3y7[0]), // expected_vtbl_contents
+ &(vtt_G11x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x3y7),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x3y7),11, //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 E12x3 : virtual C12 , virtual D1 {
+ int fd;
+ ~E12x3(); // tgen
+ E12x3(); // tgen
+};
+//SIG(-1 E12x3) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E12x3 ::~E12x3(){ note_dtor("E12x3", this);} // tgen
+E12x3 ::E12x3(){ note_ctor("E12x3", this);} // tgen
+
+static void Test_E12x3()
+{
+ extern Class_Descriptor cd_E12x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E12x3, buf);
+ E12x3 *dp, &lv = *(dp=new (buf) E12x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E12x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x3)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,12), "E12x3");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,20), "E12x3");
+ check_base_class_offset(lv, (C12*), ABISELECT(16,8), "E12x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E12x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E12x3.fd");
+ test_class_info(&lv, &cd_E12x3);
+ dp->~E12x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x3(Test_E12x3, "E12x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E12x3C1Ev();
+extern void _ZN5E12x3D1Ev();
+Name_Map name_map_E12x3[] = {
+ NSPAIR(_ZN5E12x3C1Ev),
+ NSPAIR(_ZN5E12x3D1Ev),
+ {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_E12x3[] = {
+ // 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(32,20), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 12, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E12x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x3[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x3[] = {
+ {&(_ZTV5E12x3[5]), 5,16},
+ {&(_ZTV5E12x3[8]), 8,16},
+ {&(_ZTV5E12x3[11]), 11,16},
+ {&(_ZTV5E12x3[15]), 15,16},
+ {&(_tg__ZTV3C12__5E12x3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+Class_Descriptor cd_E12x3 = { "E12x3", // class name
+ bases_E12x3, 4,
+ &(vtc_E12x3[0]), // expected_vtbl_contents
+ &(vtt_E12x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E12x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x3),6, //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 G12x3y0 : E12x3 , F1 {
+ int ff;
+ ~G12x3y0(); // tgen
+ G12x3y0(); // tgen
+};
+//SIG(1 G12x3y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x3y0 ::~G12x3y0(){ note_dtor("G12x3y0", this);} // tgen
+G12x3y0 ::G12x3y0(){ note_ctor("G12x3y0", this);} // tgen
+
+static void Test_G12x3y0()
+{
+ extern Class_Descriptor cd_G12x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x3y0, buf);
+ G12x3y0 *dp, &lv = *(dp=new (buf) G12x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y0)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x3y0");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x3y0");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(32,20), "G12x3y0");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(64,40), "G12x3y0");
+ check_base_class_offset(lv, (E12x3*), 0, "G12x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G12x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G12x3y0.ff");
+ test_class_info(&lv, &cd_G12x3y0);
+ dp->~G12x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y0(Test_G12x3y0, "G12x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y0C1Ev();
+extern void _ZN7G12x3y0D1Ev();
+Name_Map name_map_G12x3y0[] = {
+ NSPAIR(_ZN7G12x3y0C1Ev),
+ NSPAIR(_ZN7G12x3y0D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x3y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y0[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y0[] = {
+ {&(_ZTV7G12x3y0[5]), 5,19},
+ {&(_tg__ZTV5E12x3__7G12x3y0[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y0[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y0[3]), 3,4},
+ {&(_ZTV7G12x3y0[11]), 11,19},
+ {&(_ZTV7G12x3y0[14]), 14,19},
+ {&(_ZTV7G12x3y0[18]), 18,19},
+ {&(_tg__ZTV3C12__7G12x3y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y0[];
+extern VTBL_ENTRY _ZTV7G12x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y0[];
+Class_Descriptor cd_G12x3y0 = { "G12x3y0", // class name
+ bases_G12x3y0, 6,
+ &(vtc_G12x3y0[0]), // expected_vtbl_contents
+ &(vtt_G12x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y0),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y0),10, //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 G12x3y1 : virtual E12x3 , F1 {
+ int ff;
+ ~G12x3y1(); // tgen
+ G12x3y1(); // tgen
+};
+//SIG(1 G12x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G12x3y1 ::~G12x3y1(){ note_dtor("G12x3y1", this);} // tgen
+G12x3y1 ::G12x3y1(){ note_ctor("G12x3y1", this);} // tgen
+
+static void Test_G12x3y1()
+{
+ extern Class_Descriptor cd_G12x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x3y1, buf);
+ G12x3y1 *dp, &lv = *(dp=new (buf) G12x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y1)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x3y1");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x3y1");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(32,20), "G12x3y1");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(64,40), "G12x3y1");
+ check_base_class_offset(lv, (E12x3*), ABISELECT(16,12), "G12x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x3y1.ff");
+ test_class_info(&lv, &cd_G12x3y1);
+ dp->~G12x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y1(Test_G12x3y1, "G12x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y1C1Ev();
+extern void _ZN7G12x3y1D1Ev();
+Name_Map name_map_G12x3y1[] = {
+ NSPAIR(_ZN7G12x3y1C1Ev),
+ NSPAIR(_ZN7G12x3y1D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI7G12x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x3y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y1[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y1[] = {
+ {&(_ZTV7G12x3y1[6]), 6,23},
+ {&(_ZTV7G12x3y1[12]), 12,23},
+ {&(_ZTV7G12x3y1[15]), 15,23},
+ {&(_ZTV7G12x3y1[18]), 18,23},
+ {&(_ZTV7G12x3y1[22]), 22,23},
+ {&(_tg__ZTV5E12x3__7G12x3y1[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y1[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y1[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x3y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y1[];
+extern VTBL_ENTRY _ZTV7G12x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y1[];
+Class_Descriptor cd_G12x3y1 = { "G12x3y1", // class name
+ bases_G12x3y1, 6,
+ &(vtc_G12x3y1[0]), // expected_vtbl_contents
+ &(vtt_G12x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y1),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y1),11, //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 G12x3y2 : E12x3 , virtual F1 {
+ int ff;
+ ~G12x3y2(); // tgen
+ G12x3y2(); // tgen
+};
+//SIG(1 G12x3y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x3y2 ::~G12x3y2(){ note_dtor("G12x3y2", this);} // tgen
+G12x3y2 ::G12x3y2(){ note_ctor("G12x3y2", this);} // tgen
+
+static void Test_G12x3y2()
+{
+ extern Class_Descriptor cd_G12x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x3y2, buf);
+ G12x3y2 *dp, &lv = *(dp=new (buf) G12x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y2)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "G12x3y2");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "G12x3y2");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(16,12), "G12x3y2");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(48,32), "G12x3y2");
+ check_base_class_offset(lv, (E12x3*), 0, "G12x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x3y2.ff");
+ test_class_info(&lv, &cd_G12x3y2);
+ dp->~G12x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y2(Test_G12x3y2, "G12x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y2C1Ev();
+extern void _ZN7G12x3y2D1Ev();
+Name_Map name_map_G12x3y2[] = {
+ NSPAIR(_ZN7G12x3y2C1Ev),
+ NSPAIR(_ZN7G12x3y2D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x3y2[] = {
+ // 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(32,24), //bcp->offset
+ 9, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x3y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x3y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y2[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y2[] = {
+ {&(_ZTV7G12x3y2[6]), 6,21},
+ {&(_tg__ZTV5E12x3__7G12x3y2[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y2[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y2[3]), 3,4},
+ {&(_ZTV7G12x3y2[9]), 9,21},
+ {&(_ZTV7G12x3y2[12]), 12,21},
+ {&(_ZTV7G12x3y2[16]), 16,21},
+ {&(_ZTV7G12x3y2[20]), 20,21},
+ {&(_tg__ZTV3C12__7G12x3y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y2[];
+extern VTBL_ENTRY _ZTV7G12x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y2[];
+Class_Descriptor cd_G12x3y2 = { "G12x3y2", // class name
+ bases_G12x3y2, 6,
+ &(vtc_G12x3y2[0]), // expected_vtbl_contents
+ &(vtt_G12x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y2),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y2),11, //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 G12x3y3 : virtual E12x3 , virtual F1 {
+ int ff;
+ ~G12x3y3(); // tgen
+ G12x3y3(); // tgen
+};
+//SIG(1 G12x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G12x3y3 ::~G12x3y3(){ note_dtor("G12x3y3", this);} // tgen
+G12x3y3 ::G12x3y3(){ note_ctor("G12x3y3", this);} // tgen
+
+static void Test_G12x3y3()
+{
+ extern Class_Descriptor cd_G12x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G12x3y3, buf);
+ G12x3y3 *dp, &lv = *(dp=new (buf) G12x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G12x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y3)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,20), "G12x3y3");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,28), "G12x3y3");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(32,16), "G12x3y3");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(64,36), "G12x3y3");
+ check_base_class_offset(lv, (E12x3*), ABISELECT(16,8), "G12x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G12x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x3y3.ff");
+ test_class_info(&lv, &cd_G12x3y3);
+ dp->~G12x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y3(Test_G12x3y3, "G12x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y3C1Ev();
+extern void _ZN7G12x3y3D1Ev();
+Name_Map name_map_G12x3y3[] = {
+ NSPAIR(_ZN7G12x3y3C1Ev),
+ NSPAIR(_ZN7G12x3y3D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(48,28), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 23, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x3y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G12x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y3[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y3[] = {
+ {&(_ZTV7G12x3y3[7]), 7,27},
+ {&(_ZTV7G12x3y3[12]), 12,27},
+ {&(_ZTV7G12x3y3[15]), 15,27},
+ {&(_ZTV7G12x3y3[18]), 18,27},
+ {&(_ZTV7G12x3y3[22]), 22,27},
+ {&(_ZTV7G12x3y3[26]), 26,27},
+ {&(_tg__ZTV5E12x3__7G12x3y3[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y3[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y3[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x3y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y3[];
+extern VTBL_ENTRY _ZTV7G12x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y3[];
+Class_Descriptor cd_G12x3y3 = { "G12x3y3", // class name
+ bases_G12x3y3, 6,
+ &(vtc_G12x3y3[0]), // expected_vtbl_contents
+ &(vtt_G12x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G12x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y3),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y3),12, //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 G12x3y4 : E12x3 , F0 {
+ int ff;
+ ~G12x3y4(); // tgen
+ G12x3y4(); // tgen
+};
+//SIG(1 G12x3y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x3y4 ::~G12x3y4(){ note_dtor("G12x3y4", this);} // tgen
+G12x3y4 ::G12x3y4(){ note_ctor("G12x3y4", this);} // tgen
+
+static void Test_G12x3y4()
+{
+ extern Class_Descriptor cd_G12x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x3y4, buf);
+ G12x3y4 *dp, &lv = *(dp=new (buf) G12x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y4)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x3y4");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x3y4");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(24,16), "G12x3y4");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(56,36), "G12x3y4");
+ check_base_class_offset(lv, (E12x3*), 0, "G12x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G12x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x3y4.ff");
+ test_class_info(&lv, &cd_G12x3y4);
+ dp->~G12x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y4(Test_G12x3y4, "G12x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y4C1Ev();
+extern void _ZN7G12x3y4D1Ev();
+Name_Map name_map_G12x3y4[] = {
+ NSPAIR(_ZN7G12x3y4C1Ev),
+ NSPAIR(_ZN7G12x3y4D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x3y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 8, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 12, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G12x3y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x3y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y4[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y4[] = {
+ {&(_ZTV7G12x3y4[5]), 5,16},
+ {&(_tg__ZTV5E12x3__7G12x3y4[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y4[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y4[3]), 3,4},
+ {&(_ZTV7G12x3y4[8]), 8,16},
+ {&(_ZTV7G12x3y4[11]), 11,16},
+ {&(_ZTV7G12x3y4[15]), 15,16},
+ {&(_tg__ZTV3C12__7G12x3y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y4[];
+extern VTBL_ENTRY _ZTV7G12x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y4[];
+Class_Descriptor cd_G12x3y4 = { "G12x3y4", // class name
+ bases_G12x3y4, 6,
+ &(vtc_G12x3y4[0]), // expected_vtbl_contents
+ &(vtt_G12x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y4),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y4),10, //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 G12x3y5 : virtual E12x3 , F0 {
+ int ff;
+ ~G12x3y5(); // tgen
+ G12x3y5(); // tgen
+};
+//SIG(1 G12x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x3y5 ::~G12x3y5(){ note_dtor("G12x3y5", this);} // tgen
+G12x3y5 ::G12x3y5(){ note_ctor("G12x3y5", this);} // tgen
+
+static void Test_G12x3y5()
+{
+ extern Class_Descriptor cd_G12x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x3y5, buf);
+ G12x3y5 *dp, &lv = *(dp=new (buf) G12x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y5)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x3y5");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x3y5");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(32,20), "G12x3y5");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(64,40), "G12x3y5");
+ check_base_class_offset(lv, (E12x3*), ABISELECT(16,12), "G12x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x3y5.ff");
+ test_class_info(&lv, &cd_G12x3y5);
+ dp->~G12x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y5(Test_G12x3y5, "G12x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y5C1Ev();
+extern void _ZN7G12x3y5D1Ev();
+Name_Map name_map_G12x3y5[] = {
+ NSPAIR(_ZN7G12x3y5C1Ev),
+ NSPAIR(_ZN7G12x3y5D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 14, //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, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 18, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, 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
+ 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 _ZTI7G12x3y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x3y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y5[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y5[] = {
+ {&(_ZTV7G12x3y5[6]), 6,22},
+ {&(_ZTV7G12x3y5[11]), 11,22},
+ {&(_ZTV7G12x3y5[14]), 14,22},
+ {&(_ZTV7G12x3y5[17]), 17,22},
+ {&(_ZTV7G12x3y5[21]), 21,22},
+ {&(_tg__ZTV5E12x3__7G12x3y5[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y5[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y5[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x3y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y5[];
+extern VTBL_ENTRY _ZTV7G12x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y5[];
+Class_Descriptor cd_G12x3y5 = { "G12x3y5", // class name
+ bases_G12x3y5, 6,
+ &(vtc_G12x3y5[0]), // expected_vtbl_contents
+ &(vtt_G12x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y5),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y5),11, //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 G12x3y6 : E12x3 , virtual F0 {
+ int ff;
+ ~G12x3y6(); // tgen
+ G12x3y6(); // tgen
+};
+//SIG(1 G12x3y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x3y6 ::~G12x3y6(){ note_dtor("G12x3y6", this);} // tgen
+G12x3y6 ::G12x3y6(){ note_ctor("G12x3y6", this);} // tgen
+
+static void Test_G12x3y6()
+{
+ extern Class_Descriptor cd_G12x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x3y6, buf);
+ G12x3y6 *dp, &lv = *(dp=new (buf) G12x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y6)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "G12x3y6");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "G12x3y6");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(16,12), "G12x3y6");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(48,32), "G12x3y6");
+ check_base_class_offset(lv, (E12x3*), 0, "G12x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G12x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x3y6.ff");
+ test_class_info(&lv, &cd_G12x3y6);
+ dp->~G12x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y6(Test_G12x3y6, "G12x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y6C1Ev();
+extern void _ZN7G12x3y6D1Ev();
+Name_Map name_map_G12x3y6[] = {
+ NSPAIR(_ZN7G12x3y6C1Ev),
+ NSPAIR(_ZN7G12x3y6D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x3y6[] = {
+ // 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(32,24), //bcp->offset
+ 9, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G12x3y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x3y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y6[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y6[] = {
+ {&(_ZTV7G12x3y6[6]), 6,17},
+ {&(_tg__ZTV5E12x3__7G12x3y6[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y6[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y6[3]), 3,4},
+ {&(_ZTV7G12x3y6[9]), 9,17},
+ {&(_ZTV7G12x3y6[12]), 12,17},
+ {&(_ZTV7G12x3y6[16]), 16,17},
+ {&(_tg__ZTV3C12__7G12x3y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y6[];
+extern VTBL_ENTRY _ZTV7G12x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y6[];
+Class_Descriptor cd_G12x3y6 = { "G12x3y6", // class name
+ bases_G12x3y6, 6,
+ &(vtc_G12x3y6[0]), // expected_vtbl_contents
+ &(vtt_G12x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y6),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y6),10, //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 G12x3y7 : virtual E12x3 , virtual F0 {
+ int ff;
+ ~G12x3y7(); // tgen
+ G12x3y7(); // tgen
+};
+//SIG(1 G12x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x3y7 ::~G12x3y7(){ note_dtor("G12x3y7", this);} // tgen
+G12x3y7 ::G12x3y7(){ note_ctor("G12x3y7", this);} // tgen
+
+static void Test_G12x3y7()
+{
+ extern Class_Descriptor cd_G12x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x3y7, buf);
+ G12x3y7 *dp, &lv = *(dp=new (buf) G12x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x3y7)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,20), "G12x3y7");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,28), "G12x3y7");
+ check_base_class_offset(lv, (C12*)(E12x3*), ABISELECT(32,16), "G12x3y7");
+ check_base_class_offset(lv, (D1*)(E12x3*), ABISELECT(64,36), "G12x3y7");
+ check_base_class_offset(lv, (E12x3*), ABISELECT(16,8), "G12x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G12x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x3y7.ff");
+ test_class_info(&lv, &cd_G12x3y7);
+ dp->~G12x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x3y7(Test_G12x3y7, "G12x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x3y7C1Ev();
+extern void _ZN7G12x3y7D1Ev();
+Name_Map name_map_G12x3y7[] = {
+ NSPAIR(_ZN7G12x3y7C1Ev),
+ NSPAIR(_ZN7G12x3y7D1Ev),
+ {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_E12x3;
+extern VTBL_ENTRY _ZTI5E12x3[];
+extern VTBL_ENTRY _ZTV5E12x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(48,28), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G12x3y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G12x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x3y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x3y7[];
+static VTBL_ENTRY _tg__ZTV5E12x3__7G12x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x3__7G12x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x3__7G12x3y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E12x3__7G12x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x3y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x3y7[] = {
+ {&(_ZTV7G12x3y7[7]), 7,23},
+ {&(_ZTV7G12x3y7[12]), 12,23},
+ {&(_ZTV7G12x3y7[15]), 15,23},
+ {&(_ZTV7G12x3y7[18]), 18,23},
+ {&(_ZTV7G12x3y7[22]), 22,23},
+ {&(_tg__ZTV5E12x3__7G12x3y7[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x3__7G12x3y7[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x3__7G12x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E12x3__7G12x3y7[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x3y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x3y7[];
+extern VTBL_ENTRY _ZTV7G12x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x3y7[];
+Class_Descriptor cd_G12x3y7 = { "G12x3y7", // class name
+ bases_G12x3y7, 6,
+ &(vtc_G12x3y7[0]), // expected_vtbl_contents
+ &(vtt_G12x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x3y7),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x3y7),11, //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 E13x3 : virtual C13 , virtual D1 {
+ int fd;
+ ~E13x3(); // tgen
+ E13x3(); // tgen
+};
+//SIG(-1 E13x3) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E13x3 ::~E13x3(){ note_dtor("E13x3", this);} // tgen
+E13x3 ::E13x3(){ note_ctor("E13x3", this);} // tgen
+
+static void Test_E13x3()
+{
+ extern Class_Descriptor cd_E13x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E13x3, buf);
+ E13x3 *dp, &lv = *(dp=new (buf) E13x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E13x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x3)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,8), "E13x3");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,20), "E13x3");
+ check_base_class_offset(lv, (C13*), ABISELECT(16,8), "E13x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E13x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E13x3.fd");
+ test_class_info(&lv, &cd_E13x3);
+ dp->~E13x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x3(Test_E13x3, "E13x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E13x3C1Ev();
+extern void _ZN5E13x3D1Ev();
+Name_Map name_map_E13x3[] = {
+ NSPAIR(_ZN5E13x3C1Ev),
+ NSPAIR(_ZN5E13x3D1Ev),
+ {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_E13x3[] = {
+ // 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(32,20), //bcp->offset
+ 10, //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
+ 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_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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 _ZTI5E13x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E13x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x3[] = {
+ {&(_ZTV5E13x3[5]), 5,18},
+ {&(_ZTV5E13x3[9]), 9,18},
+ {&(_ZTV5E13x3[13]), 13,18},
+ {&(_ZTV5E13x3[17]), 17,18},
+ {&(_tg__ZTV3C13__5E13x3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+Class_Descriptor cd_E13x3 = { "E13x3", // class name
+ bases_E13x3, 4,
+ &(vtc_E13x3[0]), // expected_vtbl_contents
+ &(vtt_E13x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E13x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x3),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 G13x3y0 : E13x3 , F1 {
+ int ff;
+ ~G13x3y0(); // tgen
+ G13x3y0(); // tgen
+};
+//SIG(1 G13x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x3y0 ::~G13x3y0(){ note_dtor("G13x3y0", this);} // tgen
+G13x3y0 ::G13x3y0(){ note_ctor("G13x3y0", this);} // tgen
+
+static void Test_G13x3y0()
+{
+ extern Class_Descriptor cd_G13x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x3y0, buf);
+ G13x3y0 *dp, &lv = *(dp=new (buf) G13x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y0)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x3y0");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x3y0");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(32,20), "G13x3y0");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(64,40), "G13x3y0");
+ check_base_class_offset(lv, (E13x3*), 0, "G13x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G13x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G13x3y0.ff");
+ test_class_info(&lv, &cd_G13x3y0);
+ dp->~G13x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y0(Test_G13x3y0, "G13x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y0C1Ev();
+extern void _ZN7G13x3y0D1Ev();
+Name_Map name_map_G13x3y0[] = {
+ NSPAIR(_ZN7G13x3y0C1Ev),
+ NSPAIR(_ZN7G13x3y0D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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)
+ 7, //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(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y0[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y0[] = {
+ {&(_ZTV7G13x3y0[5]), 5,21},
+ {&(_tg__ZTV5E13x3__7G13x3y0[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y0[3]), 3,4},
+ {&(_ZTV7G13x3y0[12]), 12,21},
+ {&(_ZTV7G13x3y0[16]), 16,21},
+ {&(_ZTV7G13x3y0[20]), 20,21},
+ {&(_tg__ZTV3C13__7G13x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y0[];
+extern VTBL_ENTRY _ZTV7G13x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y0[];
+Class_Descriptor cd_G13x3y0 = { "G13x3y0", // class name
+ bases_G13x3y0, 6,
+ &(vtc_G13x3y0[0]), // expected_vtbl_contents
+ &(vtt_G13x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y0),10, //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 G13x3y1 : virtual E13x3 , F1 {
+ int ff;
+ ~G13x3y1(); // tgen
+ G13x3y1(); // tgen
+};
+//SIG(1 G13x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G13x3y1 ::~G13x3y1(){ note_dtor("G13x3y1", this);} // tgen
+G13x3y1 ::G13x3y1(){ note_ctor("G13x3y1", this);} // tgen
+
+static void Test_G13x3y1()
+{
+ extern Class_Descriptor cd_G13x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x3y1, buf);
+ G13x3y1 *dp, &lv = *(dp=new (buf) G13x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y1)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x3y1");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x3y1");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(32,20), "G13x3y1");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(64,40), "G13x3y1");
+ check_base_class_offset(lv, (E13x3*), ABISELECT(16,12), "G13x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x3y1.ff");
+ test_class_info(&lv, &cd_G13x3y1);
+ dp->~G13x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y1(Test_G13x3y1, "G13x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y1C1Ev();
+extern void _ZN7G13x3y1D1Ev();
+Name_Map name_map_G13x3y1[] = {
+ NSPAIR(_ZN7G13x3y1C1Ev),
+ NSPAIR(_ZN7G13x3y1D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G13x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y1[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y1[] = {
+ {&(_ZTV7G13x3y1[6]), 6,25},
+ {&(_ZTV7G13x3y1[12]), 12,25},
+ {&(_ZTV7G13x3y1[16]), 16,25},
+ {&(_ZTV7G13x3y1[20]), 20,25},
+ {&(_ZTV7G13x3y1[24]), 24,25},
+ {&(_tg__ZTV5E13x3__7G13x3y1[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y1[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y1[];
+extern VTBL_ENTRY _ZTV7G13x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y1[];
+Class_Descriptor cd_G13x3y1 = { "G13x3y1", // class name
+ bases_G13x3y1, 6,
+ &(vtc_G13x3y1[0]), // expected_vtbl_contents
+ &(vtt_G13x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y1),11, //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 G13x3y2 : E13x3 , virtual F1 {
+ int ff;
+ ~G13x3y2(); // tgen
+ G13x3y2(); // tgen
+};
+//SIG(1 G13x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x3y2 ::~G13x3y2(){ note_dtor("G13x3y2", this);} // tgen
+G13x3y2 ::G13x3y2(){ note_ctor("G13x3y2", this);} // tgen
+
+static void Test_G13x3y2()
+{
+ extern Class_Descriptor cd_G13x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x3y2, buf);
+ G13x3y2 *dp, &lv = *(dp=new (buf) G13x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y2)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "G13x3y2");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "G13x3y2");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(16,12), "G13x3y2");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(48,32), "G13x3y2");
+ check_base_class_offset(lv, (E13x3*), 0, "G13x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x3y2.ff");
+ test_class_info(&lv, &cd_G13x3y2);
+ dp->~G13x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y2(Test_G13x3y2, "G13x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y2C1Ev();
+extern void _ZN7G13x3y2D1Ev();
+Name_Map name_map_G13x3y2[] = {
+ NSPAIR(_ZN7G13x3y2C1Ev),
+ NSPAIR(_ZN7G13x3y2D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x3y2[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y2[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y2[] = {
+ {&(_ZTV7G13x3y2[6]), 6,23},
+ {&(_tg__ZTV5E13x3__7G13x3y2[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y2[3]), 3,4},
+ {&(_ZTV7G13x3y2[10]), 10,23},
+ {&(_ZTV7G13x3y2[14]), 14,23},
+ {&(_ZTV7G13x3y2[18]), 18,23},
+ {&(_ZTV7G13x3y2[22]), 22,23},
+ {&(_tg__ZTV3C13__7G13x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y2[];
+extern VTBL_ENTRY _ZTV7G13x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y2[];
+Class_Descriptor cd_G13x3y2 = { "G13x3y2", // class name
+ bases_G13x3y2, 6,
+ &(vtc_G13x3y2[0]), // expected_vtbl_contents
+ &(vtt_G13x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y2),11, //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 G13x3y3 : virtual E13x3 , virtual F1 {
+ int ff;
+ ~G13x3y3(); // tgen
+ G13x3y3(); // tgen
+};
+//SIG(1 G13x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G13x3y3 ::~G13x3y3(){ note_dtor("G13x3y3", this);} // tgen
+G13x3y3 ::G13x3y3(){ note_ctor("G13x3y3", this);} // tgen
+
+static void Test_G13x3y3()
+{
+ extern Class_Descriptor cd_G13x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G13x3y3, buf);
+ G13x3y3 *dp, &lv = *(dp=new (buf) G13x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G13x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y3)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,16), "G13x3y3");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,28), "G13x3y3");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(32,16), "G13x3y3");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(64,36), "G13x3y3");
+ check_base_class_offset(lv, (E13x3*), ABISELECT(16,8), "G13x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G13x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x3y3.ff");
+ test_class_info(&lv, &cd_G13x3y3);
+ dp->~G13x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y3(Test_G13x3y3, "G13x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y3C1Ev();
+extern void _ZN7G13x3y3D1Ev();
+Name_Map name_map_G13x3y3[] = {
+ NSPAIR(_ZN7G13x3y3C1Ev),
+ NSPAIR(_ZN7G13x3y3D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G13x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y3[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y3[] = {
+ {&(_ZTV7G13x3y3[7]), 7,29},
+ {&(_ZTV7G13x3y3[12]), 12,29},
+ {&(_ZTV7G13x3y3[16]), 16,29},
+ {&(_ZTV7G13x3y3[20]), 20,29},
+ {&(_ZTV7G13x3y3[24]), 24,29},
+ {&(_ZTV7G13x3y3[28]), 28,29},
+ {&(_tg__ZTV5E13x3__7G13x3y3[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y3[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y3[];
+extern VTBL_ENTRY _ZTV7G13x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y3[];
+Class_Descriptor cd_G13x3y3 = { "G13x3y3", // class name
+ bases_G13x3y3, 6,
+ &(vtc_G13x3y3[0]), // expected_vtbl_contents
+ &(vtt_G13x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G13x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y3),12, //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 G13x3y4 : E13x3 , F0 {
+ int ff;
+ ~G13x3y4(); // tgen
+ G13x3y4(); // tgen
+};
+//SIG(1 G13x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x3y4 ::~G13x3y4(){ note_dtor("G13x3y4", this);} // tgen
+G13x3y4 ::G13x3y4(){ note_ctor("G13x3y4", this);} // tgen
+
+static void Test_G13x3y4()
+{
+ extern Class_Descriptor cd_G13x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x3y4, buf);
+ G13x3y4 *dp, &lv = *(dp=new (buf) G13x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y4)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x3y4");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x3y4");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(24,16), "G13x3y4");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(56,36), "G13x3y4");
+ check_base_class_offset(lv, (E13x3*), 0, "G13x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G13x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x3y4.ff");
+ test_class_info(&lv, &cd_G13x3y4);
+ dp->~G13x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y4(Test_G13x3y4, "G13x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y4C1Ev();
+extern void _ZN7G13x3y4D1Ev();
+Name_Map name_map_G13x3y4[] = {
+ NSPAIR(_ZN7G13x3y4C1Ev),
+ NSPAIR(_ZN7G13x3y4D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G13x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y4[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y4[] = {
+ {&(_ZTV7G13x3y4[5]), 5,18},
+ {&(_tg__ZTV5E13x3__7G13x3y4[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y4[3]), 3,4},
+ {&(_ZTV7G13x3y4[9]), 9,18},
+ {&(_ZTV7G13x3y4[13]), 13,18},
+ {&(_ZTV7G13x3y4[17]), 17,18},
+ {&(_tg__ZTV3C13__7G13x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y4[];
+extern VTBL_ENTRY _ZTV7G13x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y4[];
+Class_Descriptor cd_G13x3y4 = { "G13x3y4", // class name
+ bases_G13x3y4, 6,
+ &(vtc_G13x3y4[0]), // expected_vtbl_contents
+ &(vtt_G13x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y4),10, //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 G13x3y5 : virtual E13x3 , F0 {
+ int ff;
+ ~G13x3y5(); // tgen
+ G13x3y5(); // tgen
+};
+//SIG(1 G13x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x3y5 ::~G13x3y5(){ note_dtor("G13x3y5", this);} // tgen
+G13x3y5 ::G13x3y5(){ note_ctor("G13x3y5", this);} // tgen
+
+static void Test_G13x3y5()
+{
+ extern Class_Descriptor cd_G13x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x3y5, buf);
+ G13x3y5 *dp, &lv = *(dp=new (buf) G13x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y5)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x3y5");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x3y5");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(32,20), "G13x3y5");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(64,40), "G13x3y5");
+ check_base_class_offset(lv, (E13x3*), ABISELECT(16,12), "G13x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x3y5.ff");
+ test_class_info(&lv, &cd_G13x3y5);
+ dp->~G13x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y5(Test_G13x3y5, "G13x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y5C1Ev();
+extern void _ZN7G13x3y5D1Ev();
+Name_Map name_map_G13x3y5[] = {
+ NSPAIR(_ZN7G13x3y5C1Ev),
+ NSPAIR(_ZN7G13x3y5D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 16, //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, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, 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_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 _ZTI7G13x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y5[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y5[] = {
+ {&(_ZTV7G13x3y5[6]), 6,24},
+ {&(_ZTV7G13x3y5[11]), 11,24},
+ {&(_ZTV7G13x3y5[15]), 15,24},
+ {&(_ZTV7G13x3y5[19]), 19,24},
+ {&(_ZTV7G13x3y5[23]), 23,24},
+ {&(_tg__ZTV5E13x3__7G13x3y5[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y5[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y5[];
+extern VTBL_ENTRY _ZTV7G13x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y5[];
+Class_Descriptor cd_G13x3y5 = { "G13x3y5", // class name
+ bases_G13x3y5, 6,
+ &(vtc_G13x3y5[0]), // expected_vtbl_contents
+ &(vtt_G13x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y5),11, //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 G13x3y6 : E13x3 , virtual F0 {
+ int ff;
+ ~G13x3y6(); // tgen
+ G13x3y6(); // tgen
+};
+//SIG(1 G13x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x3y6 ::~G13x3y6(){ note_dtor("G13x3y6", this);} // tgen
+G13x3y6 ::G13x3y6(){ note_ctor("G13x3y6", this);} // tgen
+
+static void Test_G13x3y6()
+{
+ extern Class_Descriptor cd_G13x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x3y6, buf);
+ G13x3y6 *dp, &lv = *(dp=new (buf) G13x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y6)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "G13x3y6");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "G13x3y6");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(16,12), "G13x3y6");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(48,32), "G13x3y6");
+ check_base_class_offset(lv, (E13x3*), 0, "G13x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G13x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x3y6.ff");
+ test_class_info(&lv, &cd_G13x3y6);
+ dp->~G13x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y6(Test_G13x3y6, "G13x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y6C1Ev();
+extern void _ZN7G13x3y6D1Ev();
+Name_Map name_map_G13x3y6[] = {
+ NSPAIR(_ZN7G13x3y6C1Ev),
+ NSPAIR(_ZN7G13x3y6D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x3y6[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C13, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G13x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y6[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y6[] = {
+ {&(_ZTV7G13x3y6[6]), 6,19},
+ {&(_tg__ZTV5E13x3__7G13x3y6[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y6[3]), 3,4},
+ {&(_ZTV7G13x3y6[10]), 10,19},
+ {&(_ZTV7G13x3y6[14]), 14,19},
+ {&(_ZTV7G13x3y6[18]), 18,19},
+ {&(_tg__ZTV3C13__7G13x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y6[];
+extern VTBL_ENTRY _ZTV7G13x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y6[];
+Class_Descriptor cd_G13x3y6 = { "G13x3y6", // class name
+ bases_G13x3y6, 6,
+ &(vtc_G13x3y6[0]), // expected_vtbl_contents
+ &(vtt_G13x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y6),10, //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 G13x3y7 : virtual E13x3 , virtual F0 {
+ int ff;
+ ~G13x3y7(); // tgen
+ G13x3y7(); // tgen
+};
+//SIG(1 G13x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x3y7 ::~G13x3y7(){ note_dtor("G13x3y7", this);} // tgen
+G13x3y7 ::G13x3y7(){ note_ctor("G13x3y7", this);} // tgen
+
+static void Test_G13x3y7()
+{
+ extern Class_Descriptor cd_G13x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x3y7, buf);
+ G13x3y7 *dp, &lv = *(dp=new (buf) G13x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x3y7)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,16), "G13x3y7");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,28), "G13x3y7");
+ check_base_class_offset(lv, (C13*)(E13x3*), ABISELECT(32,16), "G13x3y7");
+ check_base_class_offset(lv, (D1*)(E13x3*), ABISELECT(64,36), "G13x3y7");
+ check_base_class_offset(lv, (E13x3*), ABISELECT(16,8), "G13x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G13x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x3y7.ff");
+ test_class_info(&lv, &cd_G13x3y7);
+ dp->~G13x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x3y7(Test_G13x3y7, "G13x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x3y7C1Ev();
+extern void _ZN7G13x3y7D1Ev();
+Name_Map name_map_G13x3y7[] = {
+ NSPAIR(_ZN7G13x3y7C1Ev),
+ NSPAIR(_ZN7G13x3y7D1Ev),
+ {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_E13x3;
+extern VTBL_ENTRY _ZTI5E13x3[];
+extern VTBL_ENTRY _ZTV5E13x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G13x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G13x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x3y7[];
+static VTBL_ENTRY _tg__ZTV5E13x3__7G13x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x3__7G13x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x3__7G13x3y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E13x3__7G13x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x3y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x3y7[] = {
+ {&(_ZTV7G13x3y7[7]), 7,25},
+ {&(_ZTV7G13x3y7[12]), 12,25},
+ {&(_ZTV7G13x3y7[16]), 16,25},
+ {&(_ZTV7G13x3y7[20]), 20,25},
+ {&(_ZTV7G13x3y7[24]), 24,25},
+ {&(_tg__ZTV5E13x3__7G13x3y7[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x3__7G13x3y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x3__7G13x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E13x3__7G13x3y7[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x3y7[];
+extern VTBL_ENTRY _ZTV7G13x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x3y7[];
+Class_Descriptor cd_G13x3y7 = { "G13x3y7", // class name
+ bases_G13x3y7, 6,
+ &(vtc_G13x3y7[0]), // expected_vtbl_contents
+ &(vtt_G13x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x3y7),11, //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 E14x3 : virtual C14 , virtual D1 {
+ int fd;
+ ~E14x3(); // tgen
+ E14x3(); // tgen
+};
+//SIG(-1 E14x3) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ v2 Fi} Fi}
+
+
+E14x3 ::~E14x3(){ note_dtor("E14x3", this);} // tgen
+E14x3 ::E14x3(){ note_ctor("E14x3", this);} // tgen
+
+static void Test_E14x3()
+{
+ extern Class_Descriptor cd_E14x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E14x3, buf);
+ E14x3 *dp, &lv = *(dp=new (buf) E14x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E14x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x3)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,16), "E14x3");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,20), "E14x3");
+ check_base_class_offset(lv, (C14*), ABISELECT(16,8), "E14x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E14x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E14x3.fd");
+ test_class_info(&lv, &cd_E14x3);
+ dp->~E14x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x3(Test_E14x3, "E14x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E14x3C1Ev();
+extern void _ZN5E14x3D1Ev();
+Name_Map name_map_E14x3[] = {
+ NSPAIR(_ZN5E14x3C1Ev),
+ NSPAIR(_ZN5E14x3D1Ev),
+ {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_E14x3[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 6, //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E14x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x3[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x3[] = {
+ {&(_ZTV5E14x3[6]), 6,18},
+ {&(_ZTV5E14x3[10]), 10,18},
+ {&(_ZTV5E14x3[13]), 13,18},
+ {&(_ZTV5E14x3[17]), 17,18},
+ {&(_tg__ZTV3C14__5E14x3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+Class_Descriptor cd_E14x3 = { "E14x3", // class name
+ bases_E14x3, 4,
+ &(vtc_E14x3[0]), // expected_vtbl_contents
+ &(vtt_E14x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E14x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x3),6, //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 G14x3y0 : E14x3 , F1 {
+ int ff;
+ ~G14x3y0(); // tgen
+ G14x3y0(); // tgen
+};
+//SIG(1 G14x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x3y0 ::~G14x3y0(){ note_dtor("G14x3y0", this);} // tgen
+G14x3y0 ::G14x3y0(){ note_ctor("G14x3y0", this);} // tgen
+
+static void Test_G14x3y0()
+{
+ extern Class_Descriptor cd_G14x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x3y0, buf);
+ G14x3y0 *dp, &lv = *(dp=new (buf) G14x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y0)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x3y0");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x3y0");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(32,20), "G14x3y0");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(64,40), "G14x3y0");
+ check_base_class_offset(lv, (E14x3*), 0, "G14x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G14x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G14x3y0.ff");
+ test_class_info(&lv, &cd_G14x3y0);
+ dp->~G14x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y0(Test_G14x3y0, "G14x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y0C1Ev();
+extern void _ZN7G14x3y0D1Ev();
+Name_Map name_map_G14x3y0[] = {
+ NSPAIR(_ZN7G14x3y0C1Ev),
+ NSPAIR(_ZN7G14x3y0D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x3y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y0[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y0[] = {
+ {&(_ZTV7G14x3y0[6]), 6,21},
+ {&(_tg__ZTV5E14x3__7G14x3y0[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y0[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y0[3]), 3,4},
+ {&(_ZTV7G14x3y0[13]), 13,21},
+ {&(_ZTV7G14x3y0[16]), 16,21},
+ {&(_ZTV7G14x3y0[20]), 20,21},
+ {&(_tg__ZTV3C14__7G14x3y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y0[];
+extern VTBL_ENTRY _ZTV7G14x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y0[];
+Class_Descriptor cd_G14x3y0 = { "G14x3y0", // class name
+ bases_G14x3y0, 6,
+ &(vtc_G14x3y0[0]), // expected_vtbl_contents
+ &(vtt_G14x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y0),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y0),10, //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 G14x3y1 : virtual E14x3 , F1 {
+ int ff;
+ ~G14x3y1(); // tgen
+ G14x3y1(); // tgen
+};
+//SIG(1 G14x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G14x3y1 ::~G14x3y1(){ note_dtor("G14x3y1", this);} // tgen
+G14x3y1 ::G14x3y1(){ note_ctor("G14x3y1", this);} // tgen
+
+static void Test_G14x3y1()
+{
+ extern Class_Descriptor cd_G14x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x3y1, buf);
+ G14x3y1 *dp, &lv = *(dp=new (buf) G14x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y1)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x3y1");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x3y1");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(32,20), "G14x3y1");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(64,40), "G14x3y1");
+ check_base_class_offset(lv, (E14x3*), ABISELECT(16,12), "G14x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x3y1.ff");
+ test_class_info(&lv, &cd_G14x3y1);
+ dp->~G14x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y1(Test_G14x3y1, "G14x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y1C1Ev();
+extern void _ZN7G14x3y1D1Ev();
+Name_Map name_map_G14x3y1[] = {
+ NSPAIR(_ZN7G14x3y1C1Ev),
+ NSPAIR(_ZN7G14x3y1D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 18, //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, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G14x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x3y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x3y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y1[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y1[] = {
+ {&(_ZTV7G14x3y1[7]), 7,26},
+ {&(_ZTV7G14x3y1[14]), 14,26},
+ {&(_ZTV7G14x3y1[18]), 18,26},
+ {&(_ZTV7G14x3y1[21]), 21,26},
+ {&(_ZTV7G14x3y1[25]), 25,26},
+ {&(_tg__ZTV5E14x3__7G14x3y1[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y1[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y1[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x3y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y1[];
+extern VTBL_ENTRY _ZTV7G14x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y1[];
+Class_Descriptor cd_G14x3y1 = { "G14x3y1", // class name
+ bases_G14x3y1, 6,
+ &(vtc_G14x3y1[0]), // expected_vtbl_contents
+ &(vtt_G14x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y1),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y1),11, //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 G14x3y2 : E14x3 , virtual F1 {
+ int ff;
+ ~G14x3y2(); // tgen
+ G14x3y2(); // tgen
+};
+//SIG(1 G14x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x3y2 ::~G14x3y2(){ note_dtor("G14x3y2", this);} // tgen
+G14x3y2 ::G14x3y2(){ note_ctor("G14x3y2", this);} // tgen
+
+static void Test_G14x3y2()
+{
+ extern Class_Descriptor cd_G14x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x3y2, buf);
+ G14x3y2 *dp, &lv = *(dp=new (buf) G14x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y2)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "G14x3y2");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "G14x3y2");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(16,12), "G14x3y2");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(48,32), "G14x3y2");
+ check_base_class_offset(lv, (E14x3*), 0, "G14x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G14x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x3y2.ff");
+ test_class_info(&lv, &cd_G14x3y2);
+ dp->~G14x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y2(Test_G14x3y2, "G14x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y2C1Ev();
+extern void _ZN7G14x3y2D1Ev();
+Name_Map name_map_G14x3y2[] = {
+ NSPAIR(_ZN7G14x3y2C1Ev),
+ NSPAIR(_ZN7G14x3y2D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x3y2[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(64,40), //bcp->offset
+ 19, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x3y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x3y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y2[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y2[] = {
+ {&(_ZTV7G14x3y2[7]), 7,23},
+ {&(_tg__ZTV5E14x3__7G14x3y2[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y2[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y2[3]), 3,4},
+ {&(_ZTV7G14x3y2[11]), 11,23},
+ {&(_ZTV7G14x3y2[14]), 14,23},
+ {&(_ZTV7G14x3y2[18]), 18,23},
+ {&(_ZTV7G14x3y2[22]), 22,23},
+ {&(_tg__ZTV3C14__7G14x3y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y2[];
+extern VTBL_ENTRY _ZTV7G14x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y2[];
+Class_Descriptor cd_G14x3y2 = { "G14x3y2", // class name
+ bases_G14x3y2, 6,
+ &(vtc_G14x3y2[0]), // expected_vtbl_contents
+ &(vtt_G14x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y2),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y2),11, //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 G14x3y3 : virtual E14x3 , virtual F1 {
+ int ff;
+ ~G14x3y3(); // tgen
+ G14x3y3(); // tgen
+};
+//SIG(1 G14x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G14x3y3 ::~G14x3y3(){ note_dtor("G14x3y3", this);} // tgen
+G14x3y3 ::G14x3y3(){ note_ctor("G14x3y3", this);} // tgen
+
+static void Test_G14x3y3()
+{
+ extern Class_Descriptor cd_G14x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G14x3y3, buf);
+ G14x3y3 *dp, &lv = *(dp=new (buf) G14x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G14x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y3)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,24), "G14x3y3");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,28), "G14x3y3");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(32,16), "G14x3y3");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(64,36), "G14x3y3");
+ check_base_class_offset(lv, (E14x3*), ABISELECT(16,8), "G14x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G14x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x3y3.ff");
+ test_class_info(&lv, &cd_G14x3y3);
+ dp->~G14x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y3(Test_G14x3y3, "G14x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y3C1Ev();
+extern void _ZN7G14x3y3D1Ev();
+Name_Map name_map_G14x3y3[] = {
+ NSPAIR(_ZN7G14x3y3C1Ev),
+ NSPAIR(_ZN7G14x3y3D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(48,28), //bcp->offset
+ 18, //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, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 26, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x3y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G14x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y3[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y3[] = {
+ {&(_ZTV7G14x3y3[8]), 8,30},
+ {&(_ZTV7G14x3y3[14]), 14,30},
+ {&(_ZTV7G14x3y3[18]), 18,30},
+ {&(_ZTV7G14x3y3[21]), 21,30},
+ {&(_ZTV7G14x3y3[25]), 25,30},
+ {&(_ZTV7G14x3y3[29]), 29,30},
+ {&(_tg__ZTV5E14x3__7G14x3y3[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y3[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y3[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x3y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y3[];
+extern VTBL_ENTRY _ZTV7G14x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y3[];
+Class_Descriptor cd_G14x3y3 = { "G14x3y3", // class name
+ bases_G14x3y3, 6,
+ &(vtc_G14x3y3[0]), // expected_vtbl_contents
+ &(vtt_G14x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G14x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y3),30, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y3),12, //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 G14x3y4 : E14x3 , F0 {
+ int ff;
+ ~G14x3y4(); // tgen
+ G14x3y4(); // tgen
+};
+//SIG(1 G14x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x3y4 ::~G14x3y4(){ note_dtor("G14x3y4", this);} // tgen
+G14x3y4 ::G14x3y4(){ note_ctor("G14x3y4", this);} // tgen
+
+static void Test_G14x3y4()
+{
+ extern Class_Descriptor cd_G14x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x3y4, buf);
+ G14x3y4 *dp, &lv = *(dp=new (buf) G14x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y4)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x3y4");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x3y4");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(24,16), "G14x3y4");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(56,36), "G14x3y4");
+ check_base_class_offset(lv, (E14x3*), 0, "G14x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G14x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x3y4.ff");
+ test_class_info(&lv, &cd_G14x3y4);
+ dp->~G14x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y4(Test_G14x3y4, "G14x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y4C1Ev();
+extern void _ZN7G14x3y4D1Ev();
+Name_Map name_map_G14x3y4[] = {
+ NSPAIR(_ZN7G14x3y4C1Ev),
+ NSPAIR(_ZN7G14x3y4D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x3y4[] = {
+ // 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
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G14x3y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x3y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y4[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y4[] = {
+ {&(_ZTV7G14x3y4[6]), 6,18},
+ {&(_tg__ZTV5E14x3__7G14x3y4[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y4[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y4[3]), 3,4},
+ {&(_ZTV7G14x3y4[10]), 10,18},
+ {&(_ZTV7G14x3y4[13]), 13,18},
+ {&(_ZTV7G14x3y4[17]), 17,18},
+ {&(_tg__ZTV3C14__7G14x3y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y4[];
+extern VTBL_ENTRY _ZTV7G14x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y4[];
+Class_Descriptor cd_G14x3y4 = { "G14x3y4", // class name
+ bases_G14x3y4, 6,
+ &(vtc_G14x3y4[0]), // expected_vtbl_contents
+ &(vtt_G14x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y4),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y4),10, //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 G14x3y5 : virtual E14x3 , F0 {
+ int ff;
+ ~G14x3y5(); // tgen
+ G14x3y5(); // tgen
+};
+//SIG(1 G14x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x3y5 ::~G14x3y5(){ note_dtor("G14x3y5", this);} // tgen
+G14x3y5 ::G14x3y5(){ note_ctor("G14x3y5", this);} // tgen
+
+static void Test_G14x3y5()
+{
+ extern Class_Descriptor cd_G14x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x3y5, buf);
+ G14x3y5 *dp, &lv = *(dp=new (buf) G14x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y5)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x3y5");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x3y5");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(32,20), "G14x3y5");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(64,40), "G14x3y5");
+ check_base_class_offset(lv, (E14x3*), ABISELECT(16,12), "G14x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x3y5.ff");
+ test_class_info(&lv, &cd_G14x3y5);
+ dp->~G14x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y5(Test_G14x3y5, "G14x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y5C1Ev();
+extern void _ZN7G14x3y5D1Ev();
+Name_Map name_map_G14x3y5[] = {
+ NSPAIR(_ZN7G14x3y5C1Ev),
+ NSPAIR(_ZN7G14x3y5D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G14x3y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x3y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x3y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y5[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y5[] = {
+ {&(_ZTV7G14x3y5[7]), 7,25},
+ {&(_ZTV7G14x3y5[13]), 13,25},
+ {&(_ZTV7G14x3y5[17]), 17,25},
+ {&(_ZTV7G14x3y5[20]), 20,25},
+ {&(_ZTV7G14x3y5[24]), 24,25},
+ {&(_tg__ZTV5E14x3__7G14x3y5[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y5[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y5[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x3y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y5[];
+extern VTBL_ENTRY _ZTV7G14x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y5[];
+Class_Descriptor cd_G14x3y5 = { "G14x3y5", // class name
+ bases_G14x3y5, 6,
+ &(vtc_G14x3y5[0]), // expected_vtbl_contents
+ &(vtt_G14x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y5),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y5),11, //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 G14x3y6 : E14x3 , virtual F0 {
+ int ff;
+ ~G14x3y6(); // tgen
+ G14x3y6(); // tgen
+};
+//SIG(1 G14x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x3y6 ::~G14x3y6(){ note_dtor("G14x3y6", this);} // tgen
+G14x3y6 ::G14x3y6(){ note_ctor("G14x3y6", this);} // tgen
+
+static void Test_G14x3y6()
+{
+ extern Class_Descriptor cd_G14x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x3y6, buf);
+ G14x3y6 *dp, &lv = *(dp=new (buf) G14x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y6)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "G14x3y6");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "G14x3y6");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(16,12), "G14x3y6");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(48,32), "G14x3y6");
+ check_base_class_offset(lv, (E14x3*), 0, "G14x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G14x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x3y6.ff");
+ test_class_info(&lv, &cd_G14x3y6);
+ dp->~G14x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y6(Test_G14x3y6, "G14x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y6C1Ev();
+extern void _ZN7G14x3y6D1Ev();
+Name_Map name_map_G14x3y6[] = {
+ NSPAIR(_ZN7G14x3y6C1Ev),
+ NSPAIR(_ZN7G14x3y6D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x3y6[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G14x3y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x3y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y6[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y6[] = {
+ {&(_ZTV7G14x3y6[7]), 7,19},
+ {&(_tg__ZTV5E14x3__7G14x3y6[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y6[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y6[3]), 3,4},
+ {&(_ZTV7G14x3y6[11]), 11,19},
+ {&(_ZTV7G14x3y6[14]), 14,19},
+ {&(_ZTV7G14x3y6[18]), 18,19},
+ {&(_tg__ZTV3C14__7G14x3y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y6[];
+extern VTBL_ENTRY _ZTV7G14x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y6[];
+Class_Descriptor cd_G14x3y6 = { "G14x3y6", // class name
+ bases_G14x3y6, 6,
+ &(vtc_G14x3y6[0]), // expected_vtbl_contents
+ &(vtt_G14x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y6),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y6),10, //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 G14x3y7 : virtual E14x3 , virtual F0 {
+ int ff;
+ ~G14x3y7(); // tgen
+ G14x3y7(); // tgen
+};
+//SIG(1 G14x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x3y7 ::~G14x3y7(){ note_dtor("G14x3y7", this);} // tgen
+G14x3y7 ::G14x3y7(){ note_ctor("G14x3y7", this);} // tgen
+
+static void Test_G14x3y7()
+{
+ extern Class_Descriptor cd_G14x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x3y7, buf);
+ G14x3y7 *dp, &lv = *(dp=new (buf) G14x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x3y7)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,24), "G14x3y7");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,28), "G14x3y7");
+ check_base_class_offset(lv, (C14*)(E14x3*), ABISELECT(32,16), "G14x3y7");
+ check_base_class_offset(lv, (D1*)(E14x3*), ABISELECT(64,36), "G14x3y7");
+ check_base_class_offset(lv, (E14x3*), ABISELECT(16,8), "G14x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G14x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x3y7.ff");
+ test_class_info(&lv, &cd_G14x3y7);
+ dp->~G14x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x3y7(Test_G14x3y7, "G14x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x3y7C1Ev();
+extern void _ZN7G14x3y7D1Ev();
+Name_Map name_map_G14x3y7[] = {
+ NSPAIR(_ZN7G14x3y7C1Ev),
+ NSPAIR(_ZN7G14x3y7D1Ev),
+ {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_E14x3;
+extern VTBL_ENTRY _ZTI5E14x3[];
+extern VTBL_ENTRY _ZTV5E14x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(48,28), //bcp->offset
+ 18, //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, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G14x3y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G14x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x3y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x3y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x3y7[];
+static VTBL_ENTRY _tg__ZTV5E14x3__7G14x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x3__7G14x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x3__7G14x3y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E14x3__7G14x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x3y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x3y7[] = {
+ {&(_ZTV7G14x3y7[8]), 8,26},
+ {&(_ZTV7G14x3y7[14]), 14,26},
+ {&(_ZTV7G14x3y7[18]), 18,26},
+ {&(_ZTV7G14x3y7[21]), 21,26},
+ {&(_ZTV7G14x3y7[25]), 25,26},
+ {&(_tg__ZTV5E14x3__7G14x3y7[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x3__7G14x3y7[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x3__7G14x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E14x3__7G14x3y7[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x3y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x3y7[];
+extern VTBL_ENTRY _ZTV7G14x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x3y7[];
+Class_Descriptor cd_G14x3y7 = { "G14x3y7", // class name
+ bases_G14x3y7, 6,
+ &(vtc_G14x3y7[0]), // expected_vtbl_contents
+ &(vtt_G14x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x3y7),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x3y7),11, //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 E15x3 : virtual C15 , virtual D1 {
+ int fd;
+ ~E15x3(); // tgen
+ E15x3(); // tgen
+};
+//SIG(-1 E15x3) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ v3 Fi} Fi}
+
+
+E15x3 ::~E15x3(){ note_dtor("E15x3", this);} // tgen
+E15x3 ::E15x3(){ note_ctor("E15x3", this);} // tgen
+
+static void Test_E15x3()
+{
+ extern Class_Descriptor cd_E15x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[11];
+ init_test(&cd_E15x3, buf);
+ E15x3 *dp, &lv = *(dp=new (buf) E15x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,40), "sizeof(E15x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x3)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,16), "E15x3");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,24), "E15x3");
+ check_base_class_offset(lv, (C15*), ABISELECT(16,8), "E15x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(64,32), "E15x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E15x3.fd");
+ test_class_info(&lv, &cd_E15x3);
+ dp->~E15x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x3(Test_E15x3, "E15x3", ABISELECT(80,40));
+
+#else // __cplusplus
+
+extern void _ZN5E15x3C1Ev();
+extern void _ZN5E15x3D1Ev();
+Name_Map name_map_E15x3[] = {
+ NSPAIR(_ZN5E15x3C1Ev),
+ NSPAIR(_ZN5E15x3D1Ev),
+ {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_E15x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //bcp->offset
+ 10, //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(48,24), //bcp->offset
+ 14, //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,8), //bcp->offset
+ 6, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(64,32), //bcp->offset
+ 18, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E15x3[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x3[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x3[] = {
+ {&(_ZTV5E15x3[6]), 6,22},
+ {&(_ZTV5E15x3[10]), 10,22},
+ {&(_ZTV5E15x3[13]), 13,22},
+ {&(_ZTV5E15x3[17]), 17,22},
+ {&(_ZTV5E15x3[21]), 21,22},
+ {&(_tg__ZTV3C15__5E15x3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+Class_Descriptor cd_E15x3 = { "E15x3", // class name
+ bases_E15x3, 4,
+ &(vtc_E15x3[0]), // expected_vtbl_contents
+ &(vtt_E15x3[0]), // expected_vtt_contents
+ ABISELECT(80,40), // object size
+ NSPAIRA(_ZTI5E15x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x3),8, //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 G15x3y0 : E15x3 , F1 {
+ int ff;
+ ~G15x3y0(); // tgen
+ G15x3y0(); // tgen
+};
+//SIG(1 G15x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x3y0 ::~G15x3y0(){ note_dtor("G15x3y0", this);} // tgen
+G15x3y0 ::G15x3y0(){ note_ctor("G15x3y0", this);} // tgen
+
+static void Test_G15x3y0()
+{
+ extern Class_Descriptor cd_G15x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x3y0, buf);
+ G15x3y0 *dp, &lv = *(dp=new (buf) G15x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y0)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x3y0");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x3y0");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(32,20), "G15x3y0");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(80,44), "G15x3y0");
+ check_base_class_offset(lv, (E15x3*), 0, "G15x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G15x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G15x3y0.ff");
+ test_class_info(&lv, &cd_G15x3y0);
+ dp->~G15x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y0(Test_G15x3y0, "G15x3y0", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y0C1Ev();
+extern void _ZN7G15x3y0D1Ev();
+Name_Map name_map_G15x3y0[] = {
+ NSPAIR(_ZN7G15x3y0C1Ev),
+ NSPAIR(_ZN7G15x3y0D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 13, //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,36), //bcp->offset
+ 17, //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, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 21, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y0[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y0[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y0[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y0[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y0[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y0[] = {
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y0[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y0[] = {
+ {&(_ZTV7G15x3y0[6]), 6,25},
+ {&(_tg__ZTV5E15x3__7G15x3y0[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y0[3]), 3,4},
+ {&(_ZTV7G15x3y0[13]), 13,25},
+ {&(_ZTV7G15x3y0[16]), 16,25},
+ {&(_ZTV7G15x3y0[20]), 20,25},
+ {&(_ZTV7G15x3y0[24]), 24,25},
+ {&(_tg__ZTV3C15__7G15x3y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y0[];
+extern VTBL_ENTRY _ZTV7G15x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y0[];
+Class_Descriptor cd_G15x3y0 = { "G15x3y0", // class name
+ bases_G15x3y0, 6,
+ &(vtc_G15x3y0[0]), // expected_vtbl_contents
+ &(vtt_G15x3y0[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y0),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y0),13, //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 G15x3y1 : virtual E15x3 , F1 {
+ int ff;
+ ~G15x3y1(); // tgen
+ G15x3y1(); // tgen
+};
+//SIG(1 G15x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ v4 Fi} Fi}
+
+
+G15x3y1 ::~G15x3y1(){ note_dtor("G15x3y1", this);} // tgen
+G15x3y1 ::G15x3y1(){ note_ctor("G15x3y1", this);} // tgen
+
+static void Test_G15x3y1()
+{
+ extern Class_Descriptor cd_G15x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x3y1, buf);
+ G15x3y1 *dp, &lv = *(dp=new (buf) G15x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y1)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x3y1");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x3y1");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(32,20), "G15x3y1");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(80,44), "G15x3y1");
+ check_base_class_offset(lv, (E15x3*), ABISELECT(16,12), "G15x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x3y1.ff");
+ test_class_info(&lv, &cd_G15x3y1);
+ dp->~G15x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y1(Test_G15x3y1, "G15x3y1", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y1C1Ev();
+extern void _ZN7G15x3y1D1Ev();
+Name_Map name_map_G15x3y1[] = {
+ NSPAIR(_ZN7G15x3y1C1Ev),
+ NSPAIR(_ZN7G15x3y1D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 18, //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, ABISELECT(64,36), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 26, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //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 _ZTI7G15x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y1[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y1[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y1[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y1[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y1[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y1[] = {
+ {&(_ZTV7G15x3y1[7]), 7,30},
+ {&(_ZTV7G15x3y1[14]), 14,30},
+ {&(_ZTV7G15x3y1[18]), 18,30},
+ {&(_ZTV7G15x3y1[21]), 21,30},
+ {&(_ZTV7G15x3y1[25]), 25,30},
+ {&(_ZTV7G15x3y1[29]), 29,30},
+ {&(_tg__ZTV5E15x3__7G15x3y1[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y1[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x3y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y1[];
+extern VTBL_ENTRY _ZTV7G15x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y1[];
+Class_Descriptor cd_G15x3y1 = { "G15x3y1", // class name
+ bases_G15x3y1, 6,
+ &(vtc_G15x3y1[0]), // expected_vtbl_contents
+ &(vtt_G15x3y1[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y1),30, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y1),14, //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 G15x3y2 : E15x3 , virtual F1 {
+ int ff;
+ ~G15x3y2(); // tgen
+ G15x3y2(); // tgen
+};
+//SIG(1 G15x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x3y2 ::~G15x3y2(){ note_dtor("G15x3y2", this);} // tgen
+G15x3y2 ::G15x3y2(){ note_ctor("G15x3y2", this);} // tgen
+
+static void Test_G15x3y2()
+{
+ extern Class_Descriptor cd_G15x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x3y2, buf);
+ G15x3y2 *dp, &lv = *(dp=new (buf) G15x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y2)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "G15x3y2");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "G15x3y2");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(16,12), "G15x3y2");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(64,36), "G15x3y2");
+ check_base_class_offset(lv, (E15x3*), 0, "G15x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x3y2.ff");
+ test_class_info(&lv, &cd_G15x3y2);
+ dp->~G15x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y2(Test_G15x3y2, "G15x3y2", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y2C1Ev();
+extern void _ZN7G15x3y2D1Ev();
+Name_Map name_map_G15x3y2[] = {
+ NSPAIR(_ZN7G15x3y2C1Ev),
+ NSPAIR(_ZN7G15x3y2D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(48,28), //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, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(80,44), //bcp->offset
+ 23, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //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 _ZTI7G15x3y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x3y2[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y2[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y2[] = {
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y2[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y2[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y2[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y2[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y2[] = {
+ {&(_ZTV7G15x3y2[7]), 7,27},
+ {&(_tg__ZTV5E15x3__7G15x3y2[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y2[3]), 3,4},
+ {&(_ZTV7G15x3y2[11]), 11,27},
+ {&(_ZTV7G15x3y2[14]), 14,27},
+ {&(_ZTV7G15x3y2[18]), 18,27},
+ {&(_ZTV7G15x3y2[22]), 22,27},
+ {&(_ZTV7G15x3y2[26]), 26,27},
+ {&(_tg__ZTV3C15__7G15x3y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y2[];
+extern VTBL_ENTRY _ZTV7G15x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y2[];
+Class_Descriptor cd_G15x3y2 = { "G15x3y2", // class name
+ bases_G15x3y2, 6,
+ &(vtc_G15x3y2[0]), // expected_vtbl_contents
+ &(vtt_G15x3y2[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y2),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y2),14, //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 G15x3y3 : virtual E15x3 , virtual F1 {
+ int ff;
+ ~G15x3y3(); // tgen
+ G15x3y3(); // tgen
+};
+//SIG(1 G15x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ v4 Fi} Fi}
+
+
+G15x3y3 ::~G15x3y3(){ note_dtor("G15x3y3", this);} // tgen
+G15x3y3 ::G15x3y3(){ note_ctor("G15x3y3", this);} // tgen
+
+static void Test_G15x3y3()
+{
+ extern Class_Descriptor cd_G15x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[15];
+ init_test(&cd_G15x3y3, buf);
+ G15x3y3 *dp, &lv = *(dp=new (buf) G15x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(112,56), "sizeof(G15x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y3)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,24), "G15x3y3");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,32), "G15x3y3");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(32,16), "G15x3y3");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(80,40), "G15x3y3");
+ check_base_class_offset(lv, (E15x3*), ABISELECT(16,8), "G15x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(96,48), "G15x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x3y3.ff");
+ test_class_info(&lv, &cd_G15x3y3);
+ dp->~G15x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y3(Test_G15x3y3, "G15x3y3", ABISELECT(112,56));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y3C1Ev();
+extern void _ZN7G15x3y3D1Ev();
+Name_Map name_map_G15x3y3[] = {
+ NSPAIR(_ZN7G15x3y3C1Ev),
+ NSPAIR(_ZN7G15x3y3D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 18, //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, ABISELECT(64,32), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 13, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,40), //bcp->offset
+ 26, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(96,48), //bcp->offset
+ 30, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x3y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x3y3[] = {
+ ABISELECT(96,48),
+ ABISELECT(80,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-96,-48),
+ (VTBL_ENTRY)&(_ZTI7G15x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y3[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y3[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y3[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y3[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y3[] = {
+ {&(_ZTV7G15x3y3[8]), 8,34},
+ {&(_ZTV7G15x3y3[14]), 14,34},
+ {&(_ZTV7G15x3y3[18]), 18,34},
+ {&(_ZTV7G15x3y3[21]), 21,34},
+ {&(_ZTV7G15x3y3[25]), 25,34},
+ {&(_ZTV7G15x3y3[29]), 29,34},
+ {&(_ZTV7G15x3y3[33]), 33,34},
+ {&(_tg__ZTV5E15x3__7G15x3y3[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y3[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x3y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y3[];
+extern VTBL_ENTRY _ZTV7G15x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y3[];
+Class_Descriptor cd_G15x3y3 = { "G15x3y3", // class name
+ bases_G15x3y3, 6,
+ &(vtc_G15x3y3[0]), // expected_vtbl_contents
+ &(vtt_G15x3y3[0]), // expected_vtt_contents
+ ABISELECT(112,56), // object size
+ NSPAIRA(_ZTI7G15x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y3),34, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y3),15, //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 G15x3y4 : E15x3 , F0 {
+ int ff;
+ ~G15x3y4(); // tgen
+ G15x3y4(); // tgen
+};
+//SIG(1 G15x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x3y4 ::~G15x3y4(){ note_dtor("G15x3y4", this);} // tgen
+G15x3y4 ::G15x3y4(){ note_ctor("G15x3y4", this);} // tgen
+
+static void Test_G15x3y4()
+{
+ extern Class_Descriptor cd_G15x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x3y4, buf);
+ G15x3y4 *dp, &lv = *(dp=new (buf) G15x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y4)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x3y4");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x3y4");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(24,16), "G15x3y4");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(72,40), "G15x3y4");
+ check_base_class_offset(lv, (E15x3*), 0, "G15x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G15x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x3y4.ff");
+ test_class_info(&lv, &cd_G15x3y4);
+ dp->~G15x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y4(Test_G15x3y4, "G15x3y4", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y4C1Ev();
+extern void _ZN7G15x3y4D1Ev();
+Name_Map name_map_G15x3y4[] = {
+ NSPAIR(_ZN7G15x3y4C1Ev),
+ NSPAIR(_ZN7G15x3y4D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 10, //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(56,32), //bcp->offset
+ 14, //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, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(72,40), //bcp->offset
+ 18, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G15x3y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y4[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y4[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x3y4[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x3y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x3y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y4[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y4[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y4[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y4[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y4[] = {
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y4[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y4[] = {
+ {&(_ZTV7G15x3y4[6]), 6,22},
+ {&(_tg__ZTV5E15x3__7G15x3y4[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y4[3]), 3,4},
+ {&(_ZTV7G15x3y4[10]), 10,22},
+ {&(_ZTV7G15x3y4[13]), 13,22},
+ {&(_ZTV7G15x3y4[17]), 17,22},
+ {&(_ZTV7G15x3y4[21]), 21,22},
+ {&(_tg__ZTV3C15__7G15x3y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y4[];
+extern VTBL_ENTRY _ZTV7G15x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y4[];
+Class_Descriptor cd_G15x3y4 = { "G15x3y4", // class name
+ bases_G15x3y4, 6,
+ &(vtc_G15x3y4[0]), // expected_vtbl_contents
+ &(vtt_G15x3y4[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y4),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y4),13, //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 G15x3y5 : virtual E15x3 , F0 {
+ int ff;
+ ~G15x3y5(); // tgen
+ G15x3y5(); // tgen
+};
+//SIG(1 G15x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x3y5 ::~G15x3y5(){ note_dtor("G15x3y5", this);} // tgen
+G15x3y5 ::G15x3y5(){ note_ctor("G15x3y5", this);} // tgen
+
+static void Test_G15x3y5()
+{
+ extern Class_Descriptor cd_G15x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x3y5, buf);
+ G15x3y5 *dp, &lv = *(dp=new (buf) G15x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y5)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x3y5");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x3y5");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(32,20), "G15x3y5");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(80,44), "G15x3y5");
+ check_base_class_offset(lv, (E15x3*), ABISELECT(16,12), "G15x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x3y5.ff");
+ test_class_info(&lv, &cd_G15x3y5);
+ dp->~G15x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y5(Test_G15x3y5, "G15x3y5", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y5C1Ev();
+extern void _ZN7G15x3y5D1Ev();
+Name_Map name_map_G15x3y5[] = {
+ NSPAIR(_ZN7G15x3y5C1Ev),
+ NSPAIR(_ZN7G15x3y5D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //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 _ZTI7G15x3y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y5[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y5[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y5[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y5[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y5[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y5[] = {
+ {&(_ZTV7G15x3y5[7]), 7,29},
+ {&(_ZTV7G15x3y5[13]), 13,29},
+ {&(_ZTV7G15x3y5[17]), 17,29},
+ {&(_ZTV7G15x3y5[20]), 20,29},
+ {&(_ZTV7G15x3y5[24]), 24,29},
+ {&(_ZTV7G15x3y5[28]), 28,29},
+ {&(_tg__ZTV5E15x3__7G15x3y5[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y5[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x3y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y5[];
+extern VTBL_ENTRY _ZTV7G15x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y5[];
+Class_Descriptor cd_G15x3y5 = { "G15x3y5", // class name
+ bases_G15x3y5, 6,
+ &(vtc_G15x3y5[0]), // expected_vtbl_contents
+ &(vtt_G15x3y5[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y5),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y5),14, //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 G15x3y6 : E15x3 , virtual F0 {
+ int ff;
+ ~G15x3y6(); // tgen
+ G15x3y6(); // tgen
+};
+//SIG(1 G15x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x3y6 ::~G15x3y6(){ note_dtor("G15x3y6", this);} // tgen
+G15x3y6 ::G15x3y6(){ note_ctor("G15x3y6", this);} // tgen
+
+static void Test_G15x3y6()
+{
+ extern Class_Descriptor cd_G15x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x3y6, buf);
+ G15x3y6 *dp, &lv = *(dp=new (buf) G15x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y6)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "G15x3y6");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "G15x3y6");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(16,12), "G15x3y6");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(64,36), "G15x3y6");
+ check_base_class_offset(lv, (E15x3*), 0, "G15x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G15x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x3y6.ff");
+ test_class_info(&lv, &cd_G15x3y6);
+ dp->~G15x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y6(Test_G15x3y6, "G15x3y6", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y6C1Ev();
+extern void _ZN7G15x3y6D1Ev();
+Name_Map name_map_G15x3y6[] = {
+ NSPAIR(_ZN7G15x3y6C1Ev),
+ NSPAIR(_ZN7G15x3y6D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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(48,28), //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, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 19, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G15x3y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y6[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y6[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x3y6[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x3y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x3y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y6[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y6[] = {
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y6[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y6[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y6[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y6[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y6[] = {
+ {&(_ZTV7G15x3y6[7]), 7,23},
+ {&(_tg__ZTV5E15x3__7G15x3y6[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y6[3]), 3,4},
+ {&(_ZTV7G15x3y6[11]), 11,23},
+ {&(_ZTV7G15x3y6[14]), 14,23},
+ {&(_ZTV7G15x3y6[18]), 18,23},
+ {&(_ZTV7G15x3y6[22]), 22,23},
+ {&(_tg__ZTV3C15__7G15x3y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y6[];
+extern VTBL_ENTRY _ZTV7G15x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y6[];
+Class_Descriptor cd_G15x3y6 = { "G15x3y6", // class name
+ bases_G15x3y6, 6,
+ &(vtc_G15x3y6[0]), // expected_vtbl_contents
+ &(vtt_G15x3y6[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y6),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y6),13, //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 G15x3y7 : virtual E15x3 , virtual F0 {
+ int ff;
+ ~G15x3y7(); // tgen
+ G15x3y7(); // tgen
+};
+//SIG(1 G15x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ v3 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x3y7 ::~G15x3y7(){ note_dtor("G15x3y7", this);} // tgen
+G15x3y7 ::G15x3y7(){ note_ctor("G15x3y7", this);} // tgen
+
+static void Test_G15x3y7()
+{
+ extern Class_Descriptor cd_G15x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x3y7, buf);
+ G15x3y7 *dp, &lv = *(dp=new (buf) G15x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x3y7)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,24), "G15x3y7");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,32), "G15x3y7");
+ check_base_class_offset(lv, (C15*)(E15x3*), ABISELECT(32,16), "G15x3y7");
+ check_base_class_offset(lv, (D1*)(E15x3*), ABISELECT(80,40), "G15x3y7");
+ check_base_class_offset(lv, (E15x3*), ABISELECT(16,8), "G15x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(92,48), "G15x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x3y7.ff");
+ test_class_info(&lv, &cd_G15x3y7);
+ dp->~G15x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x3y7(Test_G15x3y7, "G15x3y7", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x3y7C1Ev();
+extern void _ZN7G15x3y7D1Ev();
+Name_Map name_map_G15x3y7[] = {
+ NSPAIR(_ZN7G15x3y7C1Ev),
+ NSPAIR(_ZN7G15x3y7D1Ev),
+ {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_E15x3;
+extern VTBL_ENTRY _ZTI5E15x3[];
+extern VTBL_ENTRY _ZTV5E15x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 18, //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, ABISELECT(64,32), //bcp->offset
+ 22, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,40), //bcp->offset
+ 26, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(92,48), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G15x3y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G15x3y7[] = {
+ ABISELECT(92,48),
+ ABISELECT(80,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x3y7[];
+static VTBL_ENTRY _tg__ZTV5E15x3__7G15x3y7[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x3__7G15x3y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x3__7G15x3y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x3__7G15x3y7[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E15x3__7G15x3y7[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x3y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x3y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x3y7[] = {
+ {&(_ZTV7G15x3y7[8]), 8,30},
+ {&(_ZTV7G15x3y7[14]), 14,30},
+ {&(_ZTV7G15x3y7[18]), 18,30},
+ {&(_ZTV7G15x3y7[21]), 21,30},
+ {&(_ZTV7G15x3y7[25]), 25,30},
+ {&(_ZTV7G15x3y7[29]), 29,30},
+ {&(_tg__ZTV5E15x3__7G15x3y7[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x3__7G15x3y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x3__7G15x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x3__7G15x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E15x3__7G15x3y7[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x3y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x3y7[];
+extern VTBL_ENTRY _ZTV7G15x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x3y7[];
+Class_Descriptor cd_G15x3y7 = { "G15x3y7", // class name
+ bases_G15x3y7, 6,
+ &(vtc_G15x3y7[0]), // expected_vtbl_contents
+ &(vtt_G15x3y7[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x3y7),30, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x3y7),14, //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 E16x3 : virtual C16 , virtual D1 {
+ int fd;
+ ~E16x3(); // tgen
+ E16x3(); // tgen
+};
+//SIG(-1 E16x3) C1{ VBC2{ BC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E16x3 ::~E16x3(){ note_dtor("E16x3", this);} // tgen
+E16x3 ::E16x3(){ note_ctor("E16x3", this);} // tgen
+
+static void Test_E16x3()
+{
+ extern Class_Descriptor cd_E16x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E16x3, buf);
+ E16x3 *dp, &lv = *(dp=new (buf) E16x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E16x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x3)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,12), "E16x3");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,16), "E16x3");
+ check_base_class_offset(lv, (C16*), ABISELECT(16,8), "E16x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E16x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E16x3.fd");
+ test_class_info(&lv, &cd_E16x3);
+ dp->~E16x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x3(Test_E16x3, "E16x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E16x3C1Ev();
+extern void _ZN5E16x3D1Ev();
+Name_Map name_map_E16x3[] = {
+ NSPAIR(_ZN5E16x3C1Ev),
+ NSPAIR(_ZN5E16x3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E16x3[] = {
+ // 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(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_C16, 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_D1, ABISELECT(40,24), //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 _ZTI5E16x3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E16x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x3[];
+static VTT_ENTRY vtt_E16x3[] = {
+ {&(_ZTV5E16x3[4]), 4,12},
+ {&(_ZTV5E16x3[7]), 7,12},
+ {&(_ZTV5E16x3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+Class_Descriptor cd_E16x3 = { "E16x3", // class name
+ bases_E16x3, 4,
+ &(vtc_E16x3[0]), // expected_vtbl_contents
+ &(vtt_E16x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E16x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x3),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 G16x3y0 : E16x3 , F1 {
+ int ff;
+ ~G16x3y0(); // tgen
+ G16x3y0(); // tgen
+};
+//SIG(1 G16x3y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x3y0 ::~G16x3y0(){ note_dtor("G16x3y0", this);} // tgen
+G16x3y0 ::G16x3y0(){ note_ctor("G16x3y0", this);} // tgen
+
+static void Test_G16x3y0()
+{
+ extern Class_Descriptor cd_G16x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x3y0, buf);
+ G16x3y0 *dp, &lv = *(dp=new (buf) G16x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y0)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x3y0");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x3y0");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(32,20), "G16x3y0");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(56,36), "G16x3y0");
+ check_base_class_offset(lv, (E16x3*), 0, "G16x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G16x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G16x3y0.ff");
+ test_class_info(&lv, &cd_G16x3y0);
+ dp->~G16x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y0(Test_G16x3y0, "G16x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y0C1Ev();
+extern void _ZN7G16x3y0D1Ev();
+Name_Map name_map_G16x3y0[] = {
+ NSPAIR(_ZN7G16x3y0C1Ev),
+ NSPAIR(_ZN7G16x3y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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, 0},
+ {&cd_C16, ABISELECT(32,20), //bcp->offset
+ 7, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y0[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y0[] = {
+ {&(_ZTV7G16x3y0[4]), 4,15},
+ {&(_tg__ZTV5E16x3__7G16x3y0[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y0[3]), 3,4},
+ {&(_ZTV7G16x3y0[10]), 10,15},
+ {&(_ZTV7G16x3y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G16x3y0[];
+extern VTBL_ENTRY _ZTV7G16x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y0[];
+Class_Descriptor cd_G16x3y0 = { "G16x3y0", // class name
+ bases_G16x3y0, 6,
+ &(vtc_G16x3y0[0]), // expected_vtbl_contents
+ &(vtt_G16x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y0),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 G16x3y1 : virtual E16x3 , F1 {
+ int ff;
+ ~G16x3y1(); // tgen
+ G16x3y1(); // tgen
+};
+//SIG(1 G16x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G16x3y1 ::~G16x3y1(){ note_dtor("G16x3y1", this);} // tgen
+G16x3y1 ::G16x3y1(){ note_ctor("G16x3y1", this);} // tgen
+
+static void Test_G16x3y1()
+{
+ extern Class_Descriptor cd_G16x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x3y1, buf);
+ G16x3y1 *dp, &lv = *(dp=new (buf) G16x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y1)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x3y1");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x3y1");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(32,20), "G16x3y1");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(56,36), "G16x3y1");
+ check_base_class_offset(lv, (E16x3*), ABISELECT(16,12), "G16x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x3y1.ff");
+ test_class_info(&lv, &cd_G16x3y1);
+ dp->~G16x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y1(Test_G16x3y1, "G16x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y1C1Ev();
+extern void _ZN7G16x3y1D1Ev();
+Name_Map name_map_G16x3y1[] = {
+ NSPAIR(_ZN7G16x3y1C1Ev),
+ NSPAIR(_ZN7G16x3y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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, 0},
+ {&cd_C16, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, ABISELECT(16,12), //bcp->offset
+ 6, //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, 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 _ZTI7G16x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y1[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y1[] = {
+ {&(_ZTV7G16x3y1[5]), 5,18},
+ {&(_ZTV7G16x3y1[10]), 10,18},
+ {&(_ZTV7G16x3y1[13]), 13,18},
+ {&(_ZTV7G16x3y1[17]), 17,18},
+ {&(_tg__ZTV5E16x3__7G16x3y1[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x3y1[];
+extern VTBL_ENTRY _ZTV7G16x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y1[];
+Class_Descriptor cd_G16x3y1 = { "G16x3y1", // class name
+ bases_G16x3y1, 6,
+ &(vtc_G16x3y1[0]), // expected_vtbl_contents
+ &(vtt_G16x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y1),7, //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 G16x3y2 : E16x3 , virtual F1 {
+ int ff;
+ ~G16x3y2(); // tgen
+ G16x3y2(); // tgen
+};
+//SIG(1 G16x3y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x3y2 ::~G16x3y2(){ note_dtor("G16x3y2", this);} // tgen
+G16x3y2 ::G16x3y2(){ note_ctor("G16x3y2", this);} // tgen
+
+static void Test_G16x3y2()
+{
+ extern Class_Descriptor cd_G16x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x3y2, buf);
+ G16x3y2 *dp, &lv = *(dp=new (buf) G16x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y2)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "G16x3y2");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "G16x3y2");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(16,12), "G16x3y2");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(40,28), "G16x3y2");
+ check_base_class_offset(lv, (E16x3*), 0, "G16x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x3y2.ff");
+ test_class_info(&lv, &cd_G16x3y2);
+ dp->~G16x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y2(Test_G16x3y2, "G16x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y2C1Ev();
+extern void _ZN7G16x3y2D1Ev();
+Name_Map name_map_G16x3y2[] = {
+ NSPAIR(_ZN7G16x3y2C1Ev),
+ NSPAIR(_ZN7G16x3y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x3y2[] = {
+ // 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(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_C16, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x3y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y2[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y2[] = {
+ {&(_ZTV7G16x3y2[5]), 5,17},
+ {&(_tg__ZTV5E16x3__7G16x3y2[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y2[3]), 3,4},
+ {&(_ZTV7G16x3y2[8]), 8,17},
+ {&(_ZTV7G16x3y2[12]), 12,17},
+ {&(_ZTV7G16x3y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G16x3y2[];
+extern VTBL_ENTRY _ZTV7G16x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y2[];
+Class_Descriptor cd_G16x3y2 = { "G16x3y2", // class name
+ bases_G16x3y2, 6,
+ &(vtc_G16x3y2[0]), // expected_vtbl_contents
+ &(vtt_G16x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y2),7, //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 G16x3y3 : virtual E16x3 , virtual F1 {
+ int ff;
+ ~G16x3y3(); // tgen
+ G16x3y3(); // tgen
+};
+//SIG(1 G16x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G16x3y3 ::~G16x3y3(){ note_dtor("G16x3y3", this);} // tgen
+G16x3y3 ::G16x3y3(){ note_ctor("G16x3y3", this);} // tgen
+
+static void Test_G16x3y3()
+{
+ extern Class_Descriptor cd_G16x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G16x3y3, buf);
+ G16x3y3 *dp, &lv = *(dp=new (buf) G16x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G16x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y3)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,20), "G16x3y3");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,24), "G16x3y3");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(32,16), "G16x3y3");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(56,32), "G16x3y3");
+ check_base_class_offset(lv, (E16x3*), ABISELECT(16,8), "G16x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G16x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x3y3.ff");
+ test_class_info(&lv, &cd_G16x3y3);
+ dp->~G16x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y3(Test_G16x3y3, "G16x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y3C1Ev();
+extern void _ZN7G16x3y3D1Ev();
+Name_Map name_map_G16x3y3[] = {
+ NSPAIR(_ZN7G16x3y3C1Ev),
+ NSPAIR(_ZN7G16x3y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(44,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_C16, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, ABISELECT(16,8), //bcp->offset
+ 6, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 18, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x3y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G16x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y3[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y3[] = {
+ {&(_ZTV7G16x3y3[6]), 6,22},
+ {&(_ZTV7G16x3y3[10]), 10,22},
+ {&(_ZTV7G16x3y3[13]), 13,22},
+ {&(_ZTV7G16x3y3[17]), 17,22},
+ {&(_ZTV7G16x3y3[21]), 21,22},
+ {&(_tg__ZTV5E16x3__7G16x3y3[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x3y3[];
+extern VTBL_ENTRY _ZTV7G16x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y3[];
+Class_Descriptor cd_G16x3y3 = { "G16x3y3", // class name
+ bases_G16x3y3, 6,
+ &(vtc_G16x3y3[0]), // expected_vtbl_contents
+ &(vtt_G16x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G16x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y3),8, //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 G16x3y4 : E16x3 , F0 {
+ int ff;
+ ~G16x3y4(); // tgen
+ G16x3y4(); // tgen
+};
+//SIG(1 G16x3y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x3y4 ::~G16x3y4(){ note_dtor("G16x3y4", this);} // tgen
+G16x3y4 ::G16x3y4(){ note_ctor("G16x3y4", this);} // tgen
+
+static void Test_G16x3y4()
+{
+ extern Class_Descriptor cd_G16x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x3y4, buf);
+ G16x3y4 *dp, &lv = *(dp=new (buf) G16x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y4)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x3y4");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x3y4");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(24,16), "G16x3y4");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(48,32), "G16x3y4");
+ check_base_class_offset(lv, (E16x3*), 0, "G16x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G16x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x3y4.ff");
+ test_class_info(&lv, &cd_G16x3y4);
+ dp->~G16x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y4(Test_G16x3y4, "G16x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y4C1Ev();
+extern void _ZN7G16x3y4D1Ev();
+Name_Map name_map_G16x3y4[] = {
+ NSPAIR(_ZN7G16x3y4C1Ev),
+ NSPAIR(_ZN7G16x3y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x3y4[] = {
+ // 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, 0},
+ {&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, 0},
+ {&cd_C16, ABISELECT(24,16), //bcp->offset
+ 4, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, 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(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 _ZTI7G16x3y4[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y4[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y4[] = {
+ {&(_ZTV7G16x3y4[4]), 4,12},
+ {&(_tg__ZTV5E16x3__7G16x3y4[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y4[3]), 3,4},
+ {&(_ZTV7G16x3y4[7]), 7,12},
+ {&(_ZTV7G16x3y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G16x3y4[];
+extern VTBL_ENTRY _ZTV7G16x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y4[];
+Class_Descriptor cd_G16x3y4 = { "G16x3y4", // class name
+ bases_G16x3y4, 6,
+ &(vtc_G16x3y4[0]), // expected_vtbl_contents
+ &(vtt_G16x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y4),6, //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 G16x3y5 : virtual E16x3 , F0 {
+ int ff;
+ ~G16x3y5(); // tgen
+ G16x3y5(); // tgen
+};
+//SIG(1 G16x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x3y5 ::~G16x3y5(){ note_dtor("G16x3y5", this);} // tgen
+G16x3y5 ::G16x3y5(){ note_ctor("G16x3y5", this);} // tgen
+
+static void Test_G16x3y5()
+{
+ extern Class_Descriptor cd_G16x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x3y5, buf);
+ G16x3y5 *dp, &lv = *(dp=new (buf) G16x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y5)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x3y5");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x3y5");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(32,20), "G16x3y5");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(56,36), "G16x3y5");
+ check_base_class_offset(lv, (E16x3*), ABISELECT(16,12), "G16x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x3y5.ff");
+ test_class_info(&lv, &cd_G16x3y5);
+ dp->~G16x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y5(Test_G16x3y5, "G16x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y5C1Ev();
+extern void _ZN7G16x3y5D1Ev();
+Name_Map name_map_G16x3y5[] = {
+ NSPAIR(_ZN7G16x3y5C1Ev),
+ NSPAIR(_ZN7G16x3y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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, 0},
+ {&cd_C16, ABISELECT(32,20), //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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, 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
+ 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 _ZTI7G16x3y5[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y5[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y5[] = {
+ {&(_ZTV7G16x3y5[5]), 5,17},
+ {&(_ZTV7G16x3y5[9]), 9,17},
+ {&(_ZTV7G16x3y5[12]), 12,17},
+ {&(_ZTV7G16x3y5[16]), 16,17},
+ {&(_tg__ZTV5E16x3__7G16x3y5[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x3y5[];
+extern VTBL_ENTRY _ZTV7G16x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y5[];
+Class_Descriptor cd_G16x3y5 = { "G16x3y5", // class name
+ bases_G16x3y5, 6,
+ &(vtc_G16x3y5[0]), // expected_vtbl_contents
+ &(vtt_G16x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y5),7, //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 G16x3y6 : E16x3 , virtual F0 {
+ int ff;
+ ~G16x3y6(); // tgen
+ G16x3y6(); // tgen
+};
+//SIG(1 G16x3y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x3y6 ::~G16x3y6(){ note_dtor("G16x3y6", this);} // tgen
+G16x3y6 ::G16x3y6(){ note_ctor("G16x3y6", this);} // tgen
+
+static void Test_G16x3y6()
+{
+ extern Class_Descriptor cd_G16x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x3y6, buf);
+ G16x3y6 *dp, &lv = *(dp=new (buf) G16x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y6)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "G16x3y6");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "G16x3y6");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(16,12), "G16x3y6");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(40,28), "G16x3y6");
+ check_base_class_offset(lv, (E16x3*), 0, "G16x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G16x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x3y6.ff");
+ test_class_info(&lv, &cd_G16x3y6);
+ dp->~G16x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y6(Test_G16x3y6, "G16x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y6C1Ev();
+extern void _ZN7G16x3y6D1Ev();
+Name_Map name_map_G16x3y6[] = {
+ NSPAIR(_ZN7G16x3y6C1Ev),
+ NSPAIR(_ZN7G16x3y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x3y6[] = {
+ // 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(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_C16, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, 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(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 _ZTI7G16x3y6[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y6[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y6[] = {
+ {&(_ZTV7G16x3y6[5]), 5,13},
+ {&(_tg__ZTV5E16x3__7G16x3y6[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y6[3]), 3,4},
+ {&(_ZTV7G16x3y6[8]), 8,13},
+ {&(_ZTV7G16x3y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G16x3y6[];
+extern VTBL_ENTRY _ZTV7G16x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y6[];
+Class_Descriptor cd_G16x3y6 = { "G16x3y6", // class name
+ bases_G16x3y6, 6,
+ &(vtc_G16x3y6[0]), // expected_vtbl_contents
+ &(vtt_G16x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y6),6, //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 G16x3y7 : virtual E16x3 , virtual F0 {
+ int ff;
+ ~G16x3y7(); // tgen
+ G16x3y7(); // tgen
+};
+//SIG(1 G16x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x3y7 ::~G16x3y7(){ note_dtor("G16x3y7", this);} // tgen
+G16x3y7 ::G16x3y7(){ note_ctor("G16x3y7", this);} // tgen
+
+static void Test_G16x3y7()
+{
+ extern Class_Descriptor cd_G16x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x3y7, buf);
+ G16x3y7 *dp, &lv = *(dp=new (buf) G16x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x3y7)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,20), "G16x3y7");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,24), "G16x3y7");
+ check_base_class_offset(lv, (C16*)(E16x3*), ABISELECT(32,16), "G16x3y7");
+ check_base_class_offset(lv, (D1*)(E16x3*), ABISELECT(56,32), "G16x3y7");
+ check_base_class_offset(lv, (E16x3*), ABISELECT(16,8), "G16x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G16x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x3y7.ff");
+ test_class_info(&lv, &cd_G16x3y7);
+ dp->~G16x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x3y7(Test_G16x3y7, "G16x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x3y7C1Ev();
+extern void _ZN7G16x3y7D1Ev();
+Name_Map name_map_G16x3y7[] = {
+ NSPAIR(_ZN7G16x3y7C1Ev),
+ NSPAIR(_ZN7G16x3y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C16;
+extern VTBL_ENTRY _ZTI3C16[];
+extern VTBL_ENTRY _ZTV3C16[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E16x3;
+extern VTBL_ENTRY _ZTI5E16x3[];
+extern VTBL_ENTRY _ZTV5E16x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(44,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_C16, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x3, ABISELECT(16,8), //bcp->offset
+ 6, //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_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 _ZTI7G16x3y7[];
+extern void _ZN3C163fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G16x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x3y7[];
+static VTBL_ENTRY _tg__ZTV5E16x3__7G16x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x3__7G16x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E16x3__7G16x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G16x3y7[] = {
+ {&(_ZTV7G16x3y7[6]), 6,18},
+ {&(_ZTV7G16x3y7[10]), 10,18},
+ {&(_ZTV7G16x3y7[13]), 13,18},
+ {&(_ZTV7G16x3y7[17]), 17,18},
+ {&(_tg__ZTV5E16x3__7G16x3y7[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x3__7G16x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E16x3__7G16x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x3y7[];
+extern VTBL_ENTRY _ZTV7G16x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x3y7[];
+Class_Descriptor cd_G16x3y7 = { "G16x3y7", // class name
+ bases_G16x3y7, 6,
+ &(vtc_G16x3y7[0]), // expected_vtbl_contents
+ &(vtt_G16x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x3y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x3y7),7, //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 E17x3 : virtual C17 , virtual D1 {
+ int fd;
+ ~E17x3(); // tgen
+ E17x3(); // tgen
+};
+//SIG(-1 E17x3) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E17x3 ::~E17x3(){ note_dtor("E17x3", this);} // tgen
+E17x3 ::E17x3(){ note_ctor("E17x3", this);} // tgen
+
+static void Test_E17x3()
+{
+ extern Class_Descriptor cd_E17x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E17x3, buf);
+ E17x3 *dp, &lv = *(dp=new (buf) E17x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E17x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x3)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,8), "E17x3");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,16), "E17x3");
+ check_base_class_offset(lv, (C17*), ABISELECT(16,8), "E17x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E17x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E17x3.fd");
+ test_class_info(&lv, &cd_E17x3);
+ dp->~E17x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x3(Test_E17x3, "E17x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E17x3C1Ev();
+extern void _ZN5E17x3D1Ev();
+Name_Map name_map_E17x3[] = {
+ NSPAIR(_ZN5E17x3C1Ev),
+ NSPAIR(_ZN5E17x3D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E17x3[] = {
+ // 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_C17, 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_D1, ABISELECT(40,24), //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 _ZTI5E17x3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E17x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x3[];
+static VTT_ENTRY vtt_E17x3[] = {
+ {&(_ZTV5E17x3[4]), 4,12},
+ {&(_ZTV5E17x3[7]), 7,12},
+ {&(_ZTV5E17x3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+Class_Descriptor cd_E17x3 = { "E17x3", // class name
+ bases_E17x3, 4,
+ &(vtc_E17x3[0]), // expected_vtbl_contents
+ &(vtt_E17x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E17x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x3),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 G17x3y0 : E17x3 , F1 {
+ int ff;
+ ~G17x3y0(); // tgen
+ G17x3y0(); // tgen
+};
+//SIG(1 G17x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x3y0 ::~G17x3y0(){ note_dtor("G17x3y0", this);} // tgen
+G17x3y0 ::G17x3y0(){ note_ctor("G17x3y0", this);} // tgen
+
+static void Test_G17x3y0()
+{
+ extern Class_Descriptor cd_G17x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x3y0, buf);
+ G17x3y0 *dp, &lv = *(dp=new (buf) G17x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y0)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x3y0");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x3y0");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(32,20), "G17x3y0");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(56,36), "G17x3y0");
+ check_base_class_offset(lv, (E17x3*), 0, "G17x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G17x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G17x3y0.ff");
+ test_class_info(&lv, &cd_G17x3y0);
+ dp->~G17x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y0(Test_G17x3y0, "G17x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y0C1Ev();
+extern void _ZN7G17x3y0D1Ev();
+Name_Map name_map_G17x3y0[] = {
+ NSPAIR(_ZN7G17x3y0C1Ev),
+ NSPAIR(_ZN7G17x3y0D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,20), //bcp->offset
+ 7, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y0[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y0[] = {
+ {&(_ZTV7G17x3y0[4]), 4,15},
+ {&(_tg__ZTV5E17x3__7G17x3y0[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y0[3]), 3,4},
+ {&(_ZTV7G17x3y0[10]), 10,15},
+ {&(_ZTV7G17x3y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G17x3y0[];
+extern VTBL_ENTRY _ZTV7G17x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y0[];
+Class_Descriptor cd_G17x3y0 = { "G17x3y0", // class name
+ bases_G17x3y0, 6,
+ &(vtc_G17x3y0[0]), // expected_vtbl_contents
+ &(vtt_G17x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y0),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 G17x3y1 : virtual E17x3 , F1 {
+ int ff;
+ ~G17x3y1(); // tgen
+ G17x3y1(); // tgen
+};
+//SIG(1 G17x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G17x3y1 ::~G17x3y1(){ note_dtor("G17x3y1", this);} // tgen
+G17x3y1 ::G17x3y1(){ note_ctor("G17x3y1", this);} // tgen
+
+static void Test_G17x3y1()
+{
+ extern Class_Descriptor cd_G17x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x3y1, buf);
+ G17x3y1 *dp, &lv = *(dp=new (buf) G17x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y1)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x3y1");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x3y1");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(32,20), "G17x3y1");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(56,36), "G17x3y1");
+ check_base_class_offset(lv, (E17x3*), ABISELECT(16,12), "G17x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x3y1.ff");
+ test_class_info(&lv, &cd_G17x3y1);
+ dp->~G17x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y1(Test_G17x3y1, "G17x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y1C1Ev();
+extern void _ZN7G17x3y1D1Ev();
+Name_Map name_map_G17x3y1[] = {
+ NSPAIR(_ZN7G17x3y1C1Ev),
+ NSPAIR(_ZN7G17x3y1D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI7G17x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y1[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y1[] = {
+ {&(_ZTV7G17x3y1[5]), 5,18},
+ {&(_ZTV7G17x3y1[10]), 10,18},
+ {&(_ZTV7G17x3y1[13]), 13,18},
+ {&(_ZTV7G17x3y1[17]), 17,18},
+ {&(_tg__ZTV5E17x3__7G17x3y1[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x3y1[];
+extern VTBL_ENTRY _ZTV7G17x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y1[];
+Class_Descriptor cd_G17x3y1 = { "G17x3y1", // class name
+ bases_G17x3y1, 6,
+ &(vtc_G17x3y1[0]), // expected_vtbl_contents
+ &(vtt_G17x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y1),7, //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 G17x3y2 : E17x3 , virtual F1 {
+ int ff;
+ ~G17x3y2(); // tgen
+ G17x3y2(); // tgen
+};
+//SIG(1 G17x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x3y2 ::~G17x3y2(){ note_dtor("G17x3y2", this);} // tgen
+G17x3y2 ::G17x3y2(){ note_ctor("G17x3y2", this);} // tgen
+
+static void Test_G17x3y2()
+{
+ extern Class_Descriptor cd_G17x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x3y2, buf);
+ G17x3y2 *dp, &lv = *(dp=new (buf) G17x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y2)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "G17x3y2");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "G17x3y2");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(16,12), "G17x3y2");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(40,28), "G17x3y2");
+ check_base_class_offset(lv, (E17x3*), 0, "G17x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x3y2.ff");
+ test_class_info(&lv, &cd_G17x3y2);
+ dp->~G17x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y2(Test_G17x3y2, "G17x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y2C1Ev();
+extern void _ZN7G17x3y2D1Ev();
+Name_Map name_map_G17x3y2[] = {
+ NSPAIR(_ZN7G17x3y2C1Ev),
+ NSPAIR(_ZN7G17x3y2D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x3y2[] = {
+ // 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_C17, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x3y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y2[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y2[] = {
+ {&(_ZTV7G17x3y2[5]), 5,17},
+ {&(_tg__ZTV5E17x3__7G17x3y2[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y2[3]), 3,4},
+ {&(_ZTV7G17x3y2[8]), 8,17},
+ {&(_ZTV7G17x3y2[12]), 12,17},
+ {&(_ZTV7G17x3y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G17x3y2[];
+extern VTBL_ENTRY _ZTV7G17x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y2[];
+Class_Descriptor cd_G17x3y2 = { "G17x3y2", // class name
+ bases_G17x3y2, 6,
+ &(vtc_G17x3y2[0]), // expected_vtbl_contents
+ &(vtt_G17x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y2),7, //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 G17x3y3 : virtual E17x3 , virtual F1 {
+ int ff;
+ ~G17x3y3(); // tgen
+ G17x3y3(); // tgen
+};
+//SIG(1 G17x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G17x3y3 ::~G17x3y3(){ note_dtor("G17x3y3", this);} // tgen
+G17x3y3 ::G17x3y3(){ note_ctor("G17x3y3", this);} // tgen
+
+static void Test_G17x3y3()
+{
+ extern Class_Descriptor cd_G17x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G17x3y3, buf);
+ G17x3y3 *dp, &lv = *(dp=new (buf) G17x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G17x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y3)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,16), "G17x3y3");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,24), "G17x3y3");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(32,16), "G17x3y3");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(56,32), "G17x3y3");
+ check_base_class_offset(lv, (E17x3*), ABISELECT(16,8), "G17x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G17x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x3y3.ff");
+ test_class_info(&lv, &cd_G17x3y3);
+ dp->~G17x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y3(Test_G17x3y3, "G17x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y3C1Ev();
+extern void _ZN7G17x3y3D1Ev();
+Name_Map name_map_G17x3y3[] = {
+ NSPAIR(_ZN7G17x3y3C1Ev),
+ NSPAIR(_ZN7G17x3y3D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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(44,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_C17, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI7G17x3y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G17x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y3[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y3[] = {
+ {&(_ZTV7G17x3y3[6]), 6,22},
+ {&(_ZTV7G17x3y3[10]), 10,22},
+ {&(_ZTV7G17x3y3[13]), 13,22},
+ {&(_ZTV7G17x3y3[17]), 17,22},
+ {&(_ZTV7G17x3y3[21]), 21,22},
+ {&(_tg__ZTV5E17x3__7G17x3y3[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x3y3[];
+extern VTBL_ENTRY _ZTV7G17x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y3[];
+Class_Descriptor cd_G17x3y3 = { "G17x3y3", // class name
+ bases_G17x3y3, 6,
+ &(vtc_G17x3y3[0]), // expected_vtbl_contents
+ &(vtt_G17x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G17x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y3),8, //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 G17x3y4 : E17x3 , F0 {
+ int ff;
+ ~G17x3y4(); // tgen
+ G17x3y4(); // tgen
+};
+//SIG(1 G17x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x3y4 ::~G17x3y4(){ note_dtor("G17x3y4", this);} // tgen
+G17x3y4 ::G17x3y4(){ note_ctor("G17x3y4", this);} // tgen
+
+static void Test_G17x3y4()
+{
+ extern Class_Descriptor cd_G17x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x3y4, buf);
+ G17x3y4 *dp, &lv = *(dp=new (buf) G17x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y4)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x3y4");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x3y4");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(24,16), "G17x3y4");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(48,32), "G17x3y4");
+ check_base_class_offset(lv, (E17x3*), 0, "G17x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G17x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x3y4.ff");
+ test_class_info(&lv, &cd_G17x3y4);
+ dp->~G17x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y4(Test_G17x3y4, "G17x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y4C1Ev();
+extern void _ZN7G17x3y4D1Ev();
+Name_Map name_map_G17x3y4[] = {
+ NSPAIR(_ZN7G17x3y4C1Ev),
+ NSPAIR(_ZN7G17x3y4D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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, 0},
+ {&cd_C17, ABISELECT(24,16), //bcp->offset
+ 4, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, 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(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 _ZTI7G17x3y4[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y4[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y4[] = {
+ {&(_ZTV7G17x3y4[4]), 4,12},
+ {&(_tg__ZTV5E17x3__7G17x3y4[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y4[3]), 3,4},
+ {&(_ZTV7G17x3y4[7]), 7,12},
+ {&(_ZTV7G17x3y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G17x3y4[];
+extern VTBL_ENTRY _ZTV7G17x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y4[];
+Class_Descriptor cd_G17x3y4 = { "G17x3y4", // class name
+ bases_G17x3y4, 6,
+ &(vtc_G17x3y4[0]), // expected_vtbl_contents
+ &(vtt_G17x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y4),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 G17x3y5 : virtual E17x3 , F0 {
+ int ff;
+ ~G17x3y5(); // tgen
+ G17x3y5(); // tgen
+};
+//SIG(1 G17x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x3y5 ::~G17x3y5(){ note_dtor("G17x3y5", this);} // tgen
+G17x3y5 ::G17x3y5(){ note_ctor("G17x3y5", this);} // tgen
+
+static void Test_G17x3y5()
+{
+ extern Class_Descriptor cd_G17x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x3y5, buf);
+ G17x3y5 *dp, &lv = *(dp=new (buf) G17x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y5)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x3y5");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x3y5");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(32,20), "G17x3y5");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(56,36), "G17x3y5");
+ check_base_class_offset(lv, (E17x3*), ABISELECT(16,12), "G17x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x3y5.ff");
+ test_class_info(&lv, &cd_G17x3y5);
+ dp->~G17x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y5(Test_G17x3y5, "G17x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y5C1Ev();
+extern void _ZN7G17x3y5D1Ev();
+Name_Map name_map_G17x3y5[] = {
+ NSPAIR(_ZN7G17x3y5C1Ev),
+ NSPAIR(_ZN7G17x3y5D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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, 0},
+ {&cd_C17, ABISELECT(32,20), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, 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_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 _ZTI7G17x3y5[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y5[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y5[] = {
+ {&(_ZTV7G17x3y5[5]), 5,17},
+ {&(_ZTV7G17x3y5[9]), 9,17},
+ {&(_ZTV7G17x3y5[12]), 12,17},
+ {&(_ZTV7G17x3y5[16]), 16,17},
+ {&(_tg__ZTV5E17x3__7G17x3y5[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x3y5[];
+extern VTBL_ENTRY _ZTV7G17x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y5[];
+Class_Descriptor cd_G17x3y5 = { "G17x3y5", // class name
+ bases_G17x3y5, 6,
+ &(vtc_G17x3y5[0]), // expected_vtbl_contents
+ &(vtt_G17x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y5),7, //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 G17x3y6 : E17x3 , virtual F0 {
+ int ff;
+ ~G17x3y6(); // tgen
+ G17x3y6(); // tgen
+};
+//SIG(1 G17x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x3y6 ::~G17x3y6(){ note_dtor("G17x3y6", this);} // tgen
+G17x3y6 ::G17x3y6(){ note_ctor("G17x3y6", this);} // tgen
+
+static void Test_G17x3y6()
+{
+ extern Class_Descriptor cd_G17x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x3y6, buf);
+ G17x3y6 *dp, &lv = *(dp=new (buf) G17x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y6)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "G17x3y6");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "G17x3y6");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(16,12), "G17x3y6");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(40,28), "G17x3y6");
+ check_base_class_offset(lv, (E17x3*), 0, "G17x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G17x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x3y6.ff");
+ test_class_info(&lv, &cd_G17x3y6);
+ dp->~G17x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y6(Test_G17x3y6, "G17x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y6C1Ev();
+extern void _ZN7G17x3y6D1Ev();
+Name_Map name_map_G17x3y6[] = {
+ NSPAIR(_ZN7G17x3y6C1Ev),
+ NSPAIR(_ZN7G17x3y6D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x3y6[] = {
+ // 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_C17, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, 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 _ZTI7G17x3y6[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y6[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y6[] = {
+ {&(_ZTV7G17x3y6[5]), 5,13},
+ {&(_tg__ZTV5E17x3__7G17x3y6[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y6[3]), 3,4},
+ {&(_ZTV7G17x3y6[8]), 8,13},
+ {&(_ZTV7G17x3y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G17x3y6[];
+extern VTBL_ENTRY _ZTV7G17x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y6[];
+Class_Descriptor cd_G17x3y6 = { "G17x3y6", // class name
+ bases_G17x3y6, 6,
+ &(vtc_G17x3y6[0]), // expected_vtbl_contents
+ &(vtt_G17x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y6),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 G17x3y7 : virtual E17x3 , virtual F0 {
+ int ff;
+ ~G17x3y7(); // tgen
+ G17x3y7(); // tgen
+};
+//SIG(1 G17x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x3y7 ::~G17x3y7(){ note_dtor("G17x3y7", this);} // tgen
+G17x3y7 ::G17x3y7(){ note_ctor("G17x3y7", this);} // tgen
+
+static void Test_G17x3y7()
+{
+ extern Class_Descriptor cd_G17x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x3y7, buf);
+ G17x3y7 *dp, &lv = *(dp=new (buf) G17x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x3y7)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,16), "G17x3y7");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,24), "G17x3y7");
+ check_base_class_offset(lv, (C17*)(E17x3*), ABISELECT(32,16), "G17x3y7");
+ check_base_class_offset(lv, (D1*)(E17x3*), ABISELECT(56,32), "G17x3y7");
+ check_base_class_offset(lv, (E17x3*), ABISELECT(16,8), "G17x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G17x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x3y7.ff");
+ test_class_info(&lv, &cd_G17x3y7);
+ dp->~G17x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x3y7(Test_G17x3y7, "G17x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x3y7C1Ev();
+extern void _ZN7G17x3y7D1Ev();
+Name_Map name_map_G17x3y7[] = {
+ NSPAIR(_ZN7G17x3y7C1Ev),
+ NSPAIR(_ZN7G17x3y7D1Ev),
+ {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_C17;
+extern VTBL_ENTRY _ZTI3C17[];
+extern VTBL_ENTRY _ZTV3C17[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E17x3;
+extern VTBL_ENTRY _ZTI5E17x3[];
+extern VTBL_ENTRY _ZTV5E17x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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(44,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_C17, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI7G17x3y7[];
+extern void _ZN3C173fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G17x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x3y7[];
+static VTBL_ENTRY _tg__ZTV5E17x3__7G17x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x3__7G17x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E17x3__7G17x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G17x3y7[] = {
+ {&(_ZTV7G17x3y7[6]), 6,18},
+ {&(_ZTV7G17x3y7[10]), 10,18},
+ {&(_ZTV7G17x3y7[13]), 13,18},
+ {&(_ZTV7G17x3y7[17]), 17,18},
+ {&(_tg__ZTV5E17x3__7G17x3y7[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x3__7G17x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E17x3__7G17x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x3y7[];
+extern VTBL_ENTRY _ZTV7G17x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x3y7[];
+Class_Descriptor cd_G17x3y7 = { "G17x3y7", // class name
+ bases_G17x3y7, 6,
+ &(vtc_G17x3y7[0]), // expected_vtbl_contents
+ &(vtt_G17x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x3y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x3y7),7, //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 E18x3 : virtual C18 , virtual D1 {
+ int fd;
+ ~E18x3(); // tgen
+ E18x3(); // tgen
+};
+//SIG(-1 E18x3) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E18x3 ::~E18x3(){ note_dtor("E18x3", this);} // tgen
+E18x3 ::E18x3(){ note_ctor("E18x3", this);} // tgen
+
+static void Test_E18x3()
+{
+ extern Class_Descriptor cd_E18x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E18x3, buf);
+ E18x3 *dp, &lv = *(dp=new (buf) E18x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E18x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x3)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,20), "E18x3");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,12), "E18x3");
+ check_base_class_offset(lv, (C18*), ABISELECT(16,8), "E18x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E18x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E18x3.fd");
+ test_class_info(&lv, &cd_E18x3);
+ dp->~E18x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x3(Test_E18x3, "E18x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E18x3C1Ev();
+extern void _ZN5E18x3D1Ev();
+Name_Map name_map_E18x3[] = {
+ NSPAIR(_ZN5E18x3C1Ev),
+ NSPAIR(_ZN5E18x3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E18x3[] = {
+ // 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(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_C18, 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI5E18x3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E18x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x3[] = {
+ {&(_ZTV5E18x3[5]), 5,14},
+ {&(_ZTV5E18x3[9]), 9,14},
+ {&(_ZTV5E18x3[13]), 13,14},
+ {&(_tg__ZTV3C18__5E18x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+Class_Descriptor cd_E18x3 = { "E18x3", // class name
+ bases_E18x3, 4,
+ &(vtc_E18x3[0]), // expected_vtbl_contents
+ &(vtt_E18x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E18x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x3),4, //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 G18x3y0 : E18x3 , F1 {
+ int ff;
+ ~G18x3y0(); // tgen
+ G18x3y0(); // tgen
+};
+//SIG(1 G18x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x3y0 ::~G18x3y0(){ note_dtor("G18x3y0", this);} // tgen
+G18x3y0 ::G18x3y0(){ note_ctor("G18x3y0", this);} // tgen
+
+static void Test_G18x3y0()
+{
+ extern Class_Descriptor cd_G18x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x3y0, buf);
+ G18x3y0 *dp, &lv = *(dp=new (buf) G18x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y0)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x3y0");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x3y0");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(32,20), "G18x3y0");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(56,36), "G18x3y0");
+ check_base_class_offset(lv, (E18x3*), 0, "G18x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G18x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G18x3y0.ff");
+ test_class_info(&lv, &cd_G18x3y0);
+ dp->~G18x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y0(Test_G18x3y0, "G18x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y0C1Ev();
+extern void _ZN7G18x3y0D1Ev();
+Name_Map name_map_G18x3y0[] = {
+ NSPAIR(_ZN7G18x3y0C1Ev),
+ NSPAIR(_ZN7G18x3y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x3y0[] = {
+ // 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(40,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_C18, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G18x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y0[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y0[] = {
+ {&(_ZTV7G18x3y0[5]), 5,17},
+ {&(_tg__ZTV5E18x3__7G18x3y0[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y0[3]), 3,4},
+ {&(_ZTV7G18x3y0[12]), 12,17},
+ {&(_ZTV7G18x3y0[16]), 16,17},
+ {&(_tg__ZTV3C18__7G18x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y0[];
+extern VTBL_ENTRY _ZTV7G18x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y0[];
+Class_Descriptor cd_G18x3y0 = { "G18x3y0", // class name
+ bases_G18x3y0, 6,
+ &(vtc_G18x3y0[0]), // expected_vtbl_contents
+ &(vtt_G18x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y0),7, //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 G18x3y1 : virtual E18x3 , F1 {
+ int ff;
+ ~G18x3y1(); // tgen
+ G18x3y1(); // tgen
+};
+//SIG(1 G18x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G18x3y1 ::~G18x3y1(){ note_dtor("G18x3y1", this);} // tgen
+G18x3y1 ::G18x3y1(){ note_ctor("G18x3y1", this);} // tgen
+
+static void Test_G18x3y1()
+{
+ extern Class_Descriptor cd_G18x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x3y1, buf);
+ G18x3y1 *dp, &lv = *(dp=new (buf) G18x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y1)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x3y1");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x3y1");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(32,20), "G18x3y1");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(56,36), "G18x3y1");
+ check_base_class_offset(lv, (E18x3*), ABISELECT(16,12), "G18x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x3y1.ff");
+ test_class_info(&lv, &cd_G18x3y1);
+ dp->~G18x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y1(Test_G18x3y1, "G18x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y1C1Ev();
+extern void _ZN7G18x3y1D1Ev();
+Name_Map name_map_G18x3y1[] = {
+ NSPAIR(_ZN7G18x3y1C1Ev),
+ NSPAIR(_ZN7G18x3y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x3y1[] = {
+ // 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(40,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_C18, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI7G18x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y1[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y1[] = {
+ {&(_ZTV7G18x3y1[6]), 6,21},
+ {&(_ZTV7G18x3y1[12]), 12,21},
+ {&(_ZTV7G18x3y1[16]), 16,21},
+ {&(_ZTV7G18x3y1[20]), 20,21},
+ {&(_tg__ZTV5E18x3__7G18x3y1[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y1[3]), 3,4},
+ {&(_tg__ZTV3C18__7G18x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y1[];
+extern VTBL_ENTRY _ZTV7G18x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y1[];
+Class_Descriptor cd_G18x3y1 = { "G18x3y1", // class name
+ bases_G18x3y1, 6,
+ &(vtc_G18x3y1[0]), // expected_vtbl_contents
+ &(vtt_G18x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y1),8, //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 G18x3y2 : E18x3 , virtual F1 {
+ int ff;
+ ~G18x3y2(); // tgen
+ G18x3y2(); // tgen
+};
+//SIG(1 G18x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x3y2 ::~G18x3y2(){ note_dtor("G18x3y2", this);} // tgen
+G18x3y2 ::G18x3y2(){ note_ctor("G18x3y2", this);} // tgen
+
+static void Test_G18x3y2()
+{
+ extern Class_Descriptor cd_G18x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x3y2, buf);
+ G18x3y2 *dp, &lv = *(dp=new (buf) G18x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y2)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "G18x3y2");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "G18x3y2");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(16,12), "G18x3y2");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(40,28), "G18x3y2");
+ check_base_class_offset(lv, (E18x3*), 0, "G18x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x3y2.ff");
+ test_class_info(&lv, &cd_G18x3y2);
+ dp->~G18x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y2(Test_G18x3y2, "G18x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y2C1Ev();
+extern void _ZN7G18x3y2D1Ev();
+Name_Map name_map_G18x3y2[] = {
+ NSPAIR(_ZN7G18x3y2C1Ev),
+ NSPAIR(_ZN7G18x3y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x3y2[] = {
+ // 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(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_C18, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(56,36), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x3y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y2[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y2[] = {
+ {&(_ZTV7G18x3y2[6]), 6,19},
+ {&(_tg__ZTV5E18x3__7G18x3y2[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y2[3]), 3,4},
+ {&(_ZTV7G18x3y2[10]), 10,19},
+ {&(_ZTV7G18x3y2[14]), 14,19},
+ {&(_ZTV7G18x3y2[18]), 18,19},
+ {&(_tg__ZTV3C18__7G18x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y2[];
+extern VTBL_ENTRY _ZTV7G18x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y2[];
+Class_Descriptor cd_G18x3y2 = { "G18x3y2", // class name
+ bases_G18x3y2, 6,
+ &(vtc_G18x3y2[0]), // expected_vtbl_contents
+ &(vtt_G18x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y2),8, //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 G18x3y3 : virtual E18x3 , virtual F1 {
+ int ff;
+ ~G18x3y3(); // tgen
+ G18x3y3(); // tgen
+};
+//SIG(1 G18x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G18x3y3 ::~G18x3y3(){ note_dtor("G18x3y3", this);} // tgen
+G18x3y3 ::G18x3y3(){ note_ctor("G18x3y3", this);} // tgen
+
+static void Test_G18x3y3()
+{
+ extern Class_Descriptor cd_G18x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G18x3y3, buf);
+ G18x3y3 *dp, &lv = *(dp=new (buf) G18x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G18x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y3)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,28), "G18x3y3");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,20), "G18x3y3");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(32,16), "G18x3y3");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(56,32), "G18x3y3");
+ check_base_class_offset(lv, (E18x3*), ABISELECT(16,8), "G18x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G18x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x3y3.ff");
+ test_class_info(&lv, &cd_G18x3y3);
+ dp->~G18x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y3(Test_G18x3y3, "G18x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y3C1Ev();
+extern void _ZN7G18x3y3D1Ev();
+Name_Map name_map_G18x3y3[] = {
+ NSPAIR(_ZN7G18x3y3C1Ev),
+ NSPAIR(_ZN7G18x3y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x3y3[] = {
+ // 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(40,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_C18, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x3y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G18x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y3[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y3[] = {
+ {&(_ZTV7G18x3y3[7]), 7,25},
+ {&(_ZTV7G18x3y3[12]), 12,25},
+ {&(_ZTV7G18x3y3[16]), 16,25},
+ {&(_ZTV7G18x3y3[20]), 20,25},
+ {&(_ZTV7G18x3y3[24]), 24,25},
+ {&(_tg__ZTV5E18x3__7G18x3y3[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y3[3]), 3,4},
+ {&(_tg__ZTV3C18__7G18x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y3[];
+extern VTBL_ENTRY _ZTV7G18x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y3[];
+Class_Descriptor cd_G18x3y3 = { "G18x3y3", // class name
+ bases_G18x3y3, 6,
+ &(vtc_G18x3y3[0]), // expected_vtbl_contents
+ &(vtt_G18x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G18x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y3),9, //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 G18x3y4 : E18x3 , F0 {
+ int ff;
+ ~G18x3y4(); // tgen
+ G18x3y4(); // tgen
+};
+//SIG(1 G18x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x3y4 ::~G18x3y4(){ note_dtor("G18x3y4", this);} // tgen
+G18x3y4 ::G18x3y4(){ note_ctor("G18x3y4", this);} // tgen
+
+static void Test_G18x3y4()
+{
+ extern Class_Descriptor cd_G18x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x3y4, buf);
+ G18x3y4 *dp, &lv = *(dp=new (buf) G18x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y4)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x3y4");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x3y4");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(24,16), "G18x3y4");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(48,32), "G18x3y4");
+ check_base_class_offset(lv, (E18x3*), 0, "G18x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G18x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x3y4.ff");
+ test_class_info(&lv, &cd_G18x3y4);
+ dp->~G18x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y4(Test_G18x3y4, "G18x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y4C1Ev();
+extern void _ZN7G18x3y4D1Ev();
+Name_Map name_map_G18x3y4[] = {
+ NSPAIR(_ZN7G18x3y4C1Ev),
+ NSPAIR(_ZN7G18x3y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x3y4[] = {
+ // 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(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_C18, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G18x3y4[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y4[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y4[] = {
+ {&(_ZTV7G18x3y4[5]), 5,14},
+ {&(_tg__ZTV5E18x3__7G18x3y4[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y4[3]), 3,4},
+ {&(_ZTV7G18x3y4[9]), 9,14},
+ {&(_ZTV7G18x3y4[13]), 13,14},
+ {&(_tg__ZTV3C18__7G18x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y4[];
+extern VTBL_ENTRY _ZTV7G18x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y4[];
+Class_Descriptor cd_G18x3y4 = { "G18x3y4", // class name
+ bases_G18x3y4, 6,
+ &(vtc_G18x3y4[0]), // expected_vtbl_contents
+ &(vtt_G18x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y4),7, //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 G18x3y5 : virtual E18x3 , F0 {
+ int ff;
+ ~G18x3y5(); // tgen
+ G18x3y5(); // tgen
+};
+//SIG(1 G18x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x3y5 ::~G18x3y5(){ note_dtor("G18x3y5", this);} // tgen
+G18x3y5 ::G18x3y5(){ note_ctor("G18x3y5", this);} // tgen
+
+static void Test_G18x3y5()
+{
+ extern Class_Descriptor cd_G18x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x3y5, buf);
+ G18x3y5 *dp, &lv = *(dp=new (buf) G18x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y5)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x3y5");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x3y5");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(32,20), "G18x3y5");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(56,36), "G18x3y5");
+ check_base_class_offset(lv, (E18x3*), ABISELECT(16,12), "G18x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x3y5.ff");
+ test_class_info(&lv, &cd_G18x3y5);
+ dp->~G18x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y5(Test_G18x3y5, "G18x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y5C1Ev();
+extern void _ZN7G18x3y5D1Ev();
+Name_Map name_map_G18x3y5[] = {
+ NSPAIR(_ZN7G18x3y5C1Ev),
+ NSPAIR(_ZN7G18x3y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x3y5[] = {
+ // 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(40,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_C18, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, 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
+ 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 _ZTI7G18x3y5[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y5[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y5[] = {
+ {&(_ZTV7G18x3y5[6]), 6,20},
+ {&(_ZTV7G18x3y5[11]), 11,20},
+ {&(_ZTV7G18x3y5[15]), 15,20},
+ {&(_ZTV7G18x3y5[19]), 19,20},
+ {&(_tg__ZTV5E18x3__7G18x3y5[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y5[3]), 3,4},
+ {&(_tg__ZTV3C18__7G18x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y5[];
+extern VTBL_ENTRY _ZTV7G18x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y5[];
+Class_Descriptor cd_G18x3y5 = { "G18x3y5", // class name
+ bases_G18x3y5, 6,
+ &(vtc_G18x3y5[0]), // expected_vtbl_contents
+ &(vtt_G18x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y5),8, //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 G18x3y6 : E18x3 , virtual F0 {
+ int ff;
+ ~G18x3y6(); // tgen
+ G18x3y6(); // tgen
+};
+//SIG(1 G18x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x3y6 ::~G18x3y6(){ note_dtor("G18x3y6", this);} // tgen
+G18x3y6 ::G18x3y6(){ note_ctor("G18x3y6", this);} // tgen
+
+static void Test_G18x3y6()
+{
+ extern Class_Descriptor cd_G18x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x3y6, buf);
+ G18x3y6 *dp, &lv = *(dp=new (buf) G18x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y6)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "G18x3y6");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "G18x3y6");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(16,12), "G18x3y6");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(40,28), "G18x3y6");
+ check_base_class_offset(lv, (E18x3*), 0, "G18x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G18x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x3y6.ff");
+ test_class_info(&lv, &cd_G18x3y6);
+ dp->~G18x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y6(Test_G18x3y6, "G18x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y6C1Ev();
+extern void _ZN7G18x3y6D1Ev();
+Name_Map name_map_G18x3y6[] = {
+ NSPAIR(_ZN7G18x3y6C1Ev),
+ NSPAIR(_ZN7G18x3y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x3y6[] = {
+ // 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(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_C18, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G18x3y6[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y6[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y6[] = {
+ {&(_ZTV7G18x3y6[6]), 6,15},
+ {&(_tg__ZTV5E18x3__7G18x3y6[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y6[3]), 3,4},
+ {&(_ZTV7G18x3y6[10]), 10,15},
+ {&(_ZTV7G18x3y6[14]), 14,15},
+ {&(_tg__ZTV3C18__7G18x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y6[];
+extern VTBL_ENTRY _ZTV7G18x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y6[];
+Class_Descriptor cd_G18x3y6 = { "G18x3y6", // class name
+ bases_G18x3y6, 6,
+ &(vtc_G18x3y6[0]), // expected_vtbl_contents
+ &(vtt_G18x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y6),7, //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 G18x3y7 : virtual E18x3 , virtual F0 {
+ int ff;
+ ~G18x3y7(); // tgen
+ G18x3y7(); // tgen
+};
+//SIG(1 G18x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x3y7 ::~G18x3y7(){ note_dtor("G18x3y7", this);} // tgen
+G18x3y7 ::G18x3y7(){ note_ctor("G18x3y7", this);} // tgen
+
+static void Test_G18x3y7()
+{
+ extern Class_Descriptor cd_G18x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x3y7, buf);
+ G18x3y7 *dp, &lv = *(dp=new (buf) G18x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x3y7)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,28), "G18x3y7");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,20), "G18x3y7");
+ check_base_class_offset(lv, (C18*)(E18x3*), ABISELECT(32,16), "G18x3y7");
+ check_base_class_offset(lv, (D1*)(E18x3*), ABISELECT(56,32), "G18x3y7");
+ check_base_class_offset(lv, (E18x3*), ABISELECT(16,8), "G18x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G18x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x3y7.ff");
+ test_class_info(&lv, &cd_G18x3y7);
+ dp->~G18x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x3y7(Test_G18x3y7, "G18x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x3y7C1Ev();
+extern void _ZN7G18x3y7D1Ev();
+Name_Map name_map_G18x3y7[] = {
+ NSPAIR(_ZN7G18x3y7C1Ev),
+ NSPAIR(_ZN7G18x3y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C18;
+extern VTBL_ENTRY _ZTI3C18[];
+extern VTBL_ENTRY _ZTV3C18[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C18[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E18x3;
+extern VTBL_ENTRY _ZTI5E18x3[];
+extern VTBL_ENTRY _ZTV5E18x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x3y7[] = {
+ // 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(40,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_C18, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_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 _ZTI7G18x3y7[];
+extern void _ZN3C183fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G18x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x3y7[];
+static VTBL_ENTRY _tg__ZTV5E18x3__7G18x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x3__7G18x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E18x3__7G18x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x3y7[] = {
+ {&(_ZTV7G18x3y7[7]), 7,21},
+ {&(_ZTV7G18x3y7[12]), 12,21},
+ {&(_ZTV7G18x3y7[16]), 16,21},
+ {&(_ZTV7G18x3y7[20]), 20,21},
+ {&(_tg__ZTV5E18x3__7G18x3y7[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x3__7G18x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__5E18x3__7G18x3y7[3]), 3,4},
+ {&(_tg__ZTV3C18__7G18x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x3y7[];
+extern VTBL_ENTRY _ZTV7G18x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x3y7[];
+Class_Descriptor cd_G18x3y7 = { "G18x3y7", // class name
+ bases_G18x3y7, 6,
+ &(vtc_G18x3y7[0]), // expected_vtbl_contents
+ &(vtt_G18x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x3y7),8, //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 E19x3 : virtual C19 , virtual D1 {
+ int fd;
+ ~E19x3(); // tgen
+ E19x3(); // tgen
+};
+//SIG(-1 E19x3) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E19x3 ::~E19x3(){ note_dtor("E19x3", this);} // tgen
+E19x3 ::E19x3(){ note_ctor("E19x3", this);} // tgen
+
+static void Test_E19x3()
+{
+ extern Class_Descriptor cd_E19x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E19x3, buf);
+ E19x3 *dp, &lv = *(dp=new (buf) E19x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E19x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x3)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,20), "E19x3");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,12), "E19x3");
+ check_base_class_offset(lv, (C19*), ABISELECT(16,8), "E19x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E19x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E19x3.fd");
+ test_class_info(&lv, &cd_E19x3);
+ dp->~E19x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x3(Test_E19x3, "E19x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E19x3C1Ev();
+extern void _ZN5E19x3D1Ev();
+Name_Map name_map_E19x3[] = {
+ NSPAIR(_ZN5E19x3C1Ev),
+ NSPAIR(_ZN5E19x3D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E19x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //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_C19, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E19x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__5E19x3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x3[] = {
+ {&(_ZTV5E19x3[5]), 5,18},
+ {&(_ZTV5E19x3[9]), 9,18},
+ {&(_ZTV5E19x3[13]), 13,18},
+ {&(_ZTV5E19x3[17]), 17,18},
+ {&(_tg__ZTV3C19__5E19x3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+static VTBL_ENTRY alt_thunk_names197[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E19x3 = { "E19x3", // class name
+ bases_E19x3, 4,
+ &(vtc_E19x3[0]), // expected_vtbl_contents
+ &(vtt_E19x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E19x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x3),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names197,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y0 : E19x3 , F1 {
+ int ff;
+ ~G19x3y0(); // tgen
+ G19x3y0(); // tgen
+};
+//SIG(1 G19x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x3y0 ::~G19x3y0(){ note_dtor("G19x3y0", this);} // tgen
+G19x3y0 ::G19x3y0(){ note_ctor("G19x3y0", this);} // tgen
+
+static void Test_G19x3y0()
+{
+ extern Class_Descriptor cd_G19x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x3y0, buf);
+ G19x3y0 *dp, &lv = *(dp=new (buf) G19x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y0)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x3y0");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x3y0");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(32,20), "G19x3y0");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(64,40), "G19x3y0");
+ check_base_class_offset(lv, (E19x3*), 0, "G19x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G19x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G19x3y0.ff");
+ test_class_info(&lv, &cd_G19x3y0);
+ dp->~G19x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y0(Test_G19x3y0, "G19x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y0C1Ev();
+extern void _ZN7G19x3y0D1Ev();
+Name_Map name_map_G19x3y0[] = {
+ NSPAIR(_ZN7G19x3y0C1Ev),
+ NSPAIR(_ZN7G19x3y0D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x3y0[] = {
+ // 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)
+ 7, //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,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_C19, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y0[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y0[] = {
+ {&(_ZTV7G19x3y0[5]), 5,21},
+ {&(_tg__ZTV5E19x3__7G19x3y0[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y0[3]), 3,4},
+ {&(_ZTV7G19x3y0[12]), 12,21},
+ {&(_ZTV7G19x3y0[16]), 16,21},
+ {&(_ZTV7G19x3y0[20]), 20,21},
+ {&(_tg__ZTV3C19__7G19x3y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y0[];
+extern VTBL_ENTRY _ZTV7G19x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y0[];
+static VTBL_ENTRY alt_thunk_names198[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y0 = { "G19x3y0", // class name
+ bases_G19x3y0, 6,
+ &(vtc_G19x3y0[0]), // expected_vtbl_contents
+ &(vtt_G19x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y0),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names198,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y1 : virtual E19x3 , F1 {
+ int ff;
+ ~G19x3y1(); // tgen
+ G19x3y1(); // tgen
+};
+//SIG(1 G19x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G19x3y1 ::~G19x3y1(){ note_dtor("G19x3y1", this);} // tgen
+G19x3y1 ::G19x3y1(){ note_ctor("G19x3y1", this);} // tgen
+
+static void Test_G19x3y1()
+{
+ extern Class_Descriptor cd_G19x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x3y1, buf);
+ G19x3y1 *dp, &lv = *(dp=new (buf) G19x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y1)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x3y1");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x3y1");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(32,20), "G19x3y1");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(64,40), "G19x3y1");
+ check_base_class_offset(lv, (E19x3*), ABISELECT(16,12), "G19x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x3y1.ff");
+ test_class_info(&lv, &cd_G19x3y1);
+ dp->~G19x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y1(Test_G19x3y1, "G19x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y1C1Ev();
+extern void _ZN7G19x3y1D1Ev();
+Name_Map name_map_G19x3y1[] = {
+ NSPAIR(_ZN7G19x3y1C1Ev),
+ NSPAIR(_ZN7G19x3y1D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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(40,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_C19, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI7G19x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y1[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y1[] = {
+ {&(_ZTV7G19x3y1[6]), 6,25},
+ {&(_ZTV7G19x3y1[12]), 12,25},
+ {&(_ZTV7G19x3y1[16]), 16,25},
+ {&(_ZTV7G19x3y1[20]), 20,25},
+ {&(_ZTV7G19x3y1[24]), 24,25},
+ {&(_tg__ZTV5E19x3__7G19x3y1[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y1[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x3y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y1[];
+extern VTBL_ENTRY _ZTV7G19x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y1[];
+static VTBL_ENTRY alt_thunk_names199[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y1 = { "G19x3y1", // class name
+ bases_G19x3y1, 6,
+ &(vtc_G19x3y1[0]), // expected_vtbl_contents
+ &(vtt_G19x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y1),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names199,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y2 : E19x3 , virtual F1 {
+ int ff;
+ ~G19x3y2(); // tgen
+ G19x3y2(); // tgen
+};
+//SIG(1 G19x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x3y2 ::~G19x3y2(){ note_dtor("G19x3y2", this);} // tgen
+G19x3y2 ::G19x3y2(){ note_ctor("G19x3y2", this);} // tgen
+
+static void Test_G19x3y2()
+{
+ extern Class_Descriptor cd_G19x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x3y2, buf);
+ G19x3y2 *dp, &lv = *(dp=new (buf) G19x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y2)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "G19x3y2");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "G19x3y2");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(16,12), "G19x3y2");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(48,32), "G19x3y2");
+ check_base_class_offset(lv, (E19x3*), 0, "G19x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G19x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x3y2.ff");
+ test_class_info(&lv, &cd_G19x3y2);
+ dp->~G19x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y2(Test_G19x3y2, "G19x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y2C1Ev();
+extern void _ZN7G19x3y2D1Ev();
+Name_Map name_map_G19x3y2[] = {
+ NSPAIR(_ZN7G19x3y2C1Ev),
+ NSPAIR(_ZN7G19x3y2D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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_C19, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x3y2[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y2[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y2[] = {
+ {&(_ZTV7G19x3y2[6]), 6,23},
+ {&(_tg__ZTV5E19x3__7G19x3y2[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y2[3]), 3,4},
+ {&(_ZTV7G19x3y2[10]), 10,23},
+ {&(_ZTV7G19x3y2[14]), 14,23},
+ {&(_ZTV7G19x3y2[18]), 18,23},
+ {&(_ZTV7G19x3y2[22]), 22,23},
+ {&(_tg__ZTV3C19__7G19x3y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y2[];
+extern VTBL_ENTRY _ZTV7G19x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y2[];
+static VTBL_ENTRY alt_thunk_names200[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y2 = { "G19x3y2", // class name
+ bases_G19x3y2, 6,
+ &(vtc_G19x3y2[0]), // expected_vtbl_contents
+ &(vtt_G19x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y2),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names200,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y3 : virtual E19x3 , virtual F1 {
+ int ff;
+ ~G19x3y3(); // tgen
+ G19x3y3(); // tgen
+};
+//SIG(1 G19x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G19x3y3 ::~G19x3y3(){ note_dtor("G19x3y3", this);} // tgen
+G19x3y3 ::G19x3y3(){ note_ctor("G19x3y3", this);} // tgen
+
+static void Test_G19x3y3()
+{
+ extern Class_Descriptor cd_G19x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G19x3y3, buf);
+ G19x3y3 *dp, &lv = *(dp=new (buf) G19x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G19x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y3)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,28), "G19x3y3");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,20), "G19x3y3");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(32,16), "G19x3y3");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(64,36), "G19x3y3");
+ check_base_class_offset(lv, (E19x3*), ABISELECT(16,8), "G19x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G19x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x3y3.ff");
+ test_class_info(&lv, &cd_G19x3y3);
+ dp->~G19x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y3(Test_G19x3y3, "G19x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y3C1Ev();
+extern void _ZN7G19x3y3D1Ev();
+Name_Map name_map_G19x3y3[] = {
+ NSPAIR(_ZN7G19x3y3C1Ev),
+ NSPAIR(_ZN7G19x3y3D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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(40,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_C19, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x3y3[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G19x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y3[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y3[] = {
+ {&(_ZTV7G19x3y3[7]), 7,29},
+ {&(_ZTV7G19x3y3[12]), 12,29},
+ {&(_ZTV7G19x3y3[16]), 16,29},
+ {&(_ZTV7G19x3y3[20]), 20,29},
+ {&(_ZTV7G19x3y3[24]), 24,29},
+ {&(_ZTV7G19x3y3[28]), 28,29},
+ {&(_tg__ZTV5E19x3__7G19x3y3[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y3[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x3y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y3[];
+extern VTBL_ENTRY _ZTV7G19x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y3[];
+static VTBL_ENTRY alt_thunk_names201[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y3 = { "G19x3y3", // class name
+ bases_G19x3y3, 6,
+ &(vtc_G19x3y3[0]), // expected_vtbl_contents
+ &(vtt_G19x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G19x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y3),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names201,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y4 : E19x3 , F0 {
+ int ff;
+ ~G19x3y4(); // tgen
+ G19x3y4(); // tgen
+};
+//SIG(1 G19x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x3y4 ::~G19x3y4(){ note_dtor("G19x3y4", this);} // tgen
+G19x3y4 ::G19x3y4(){ note_ctor("G19x3y4", this);} // tgen
+
+static void Test_G19x3y4()
+{
+ extern Class_Descriptor cd_G19x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x3y4, buf);
+ G19x3y4 *dp, &lv = *(dp=new (buf) G19x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y4)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x3y4");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x3y4");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(24,16), "G19x3y4");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(56,36), "G19x3y4");
+ check_base_class_offset(lv, (E19x3*), 0, "G19x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G19x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x3y4.ff");
+ test_class_info(&lv, &cd_G19x3y4);
+ dp->~G19x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y4(Test_G19x3y4, "G19x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y4C1Ev();
+extern void _ZN7G19x3y4D1Ev();
+Name_Map name_map_G19x3y4[] = {
+ NSPAIR(_ZN7G19x3y4C1Ev),
+ NSPAIR(_ZN7G19x3y4D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&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_C19, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G19x3y4[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y4[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y4[] = {
+ {&(_ZTV7G19x3y4[5]), 5,18},
+ {&(_tg__ZTV5E19x3__7G19x3y4[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y4[3]), 3,4},
+ {&(_ZTV7G19x3y4[9]), 9,18},
+ {&(_ZTV7G19x3y4[13]), 13,18},
+ {&(_ZTV7G19x3y4[17]), 17,18},
+ {&(_tg__ZTV3C19__7G19x3y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y4[];
+extern VTBL_ENTRY _ZTV7G19x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y4[];
+static VTBL_ENTRY alt_thunk_names202[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y4 = { "G19x3y4", // class name
+ bases_G19x3y4, 6,
+ &(vtc_G19x3y4[0]), // expected_vtbl_contents
+ &(vtt_G19x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y4),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names202,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y5 : virtual E19x3 , F0 {
+ int ff;
+ ~G19x3y5(); // tgen
+ G19x3y5(); // tgen
+};
+//SIG(1 G19x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x3y5 ::~G19x3y5(){ note_dtor("G19x3y5", this);} // tgen
+G19x3y5 ::G19x3y5(){ note_ctor("G19x3y5", this);} // tgen
+
+static void Test_G19x3y5()
+{
+ extern Class_Descriptor cd_G19x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x3y5, buf);
+ G19x3y5 *dp, &lv = *(dp=new (buf) G19x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y5)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x3y5");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x3y5");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(32,20), "G19x3y5");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(64,40), "G19x3y5");
+ check_base_class_offset(lv, (E19x3*), ABISELECT(16,12), "G19x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x3y5.ff");
+ test_class_info(&lv, &cd_G19x3y5);
+ dp->~G19x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y5(Test_G19x3y5, "G19x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y5C1Ev();
+extern void _ZN7G19x3y5D1Ev();
+Name_Map name_map_G19x3y5[] = {
+ NSPAIR(_ZN7G19x3y5C1Ev),
+ NSPAIR(_ZN7G19x3y5D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 16, //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(40,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_C19, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, 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
+ 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 _ZTI7G19x3y5[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y5[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y5[] = {
+ {&(_ZTV7G19x3y5[6]), 6,24},
+ {&(_ZTV7G19x3y5[11]), 11,24},
+ {&(_ZTV7G19x3y5[15]), 15,24},
+ {&(_ZTV7G19x3y5[19]), 19,24},
+ {&(_ZTV7G19x3y5[23]), 23,24},
+ {&(_tg__ZTV5E19x3__7G19x3y5[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y5[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x3y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y5[];
+extern VTBL_ENTRY _ZTV7G19x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y5[];
+static VTBL_ENTRY alt_thunk_names203[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y5 = { "G19x3y5", // class name
+ bases_G19x3y5, 6,
+ &(vtc_G19x3y5[0]), // expected_vtbl_contents
+ &(vtt_G19x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y5),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names203,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y6 : E19x3 , virtual F0 {
+ int ff;
+ ~G19x3y6(); // tgen
+ G19x3y6(); // tgen
+};
+//SIG(1 G19x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x3y6 ::~G19x3y6(){ note_dtor("G19x3y6", this);} // tgen
+G19x3y6 ::G19x3y6(){ note_ctor("G19x3y6", this);} // tgen
+
+static void Test_G19x3y6()
+{
+ extern Class_Descriptor cd_G19x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x3y6, buf);
+ G19x3y6 *dp, &lv = *(dp=new (buf) G19x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y6)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "G19x3y6");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "G19x3y6");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(16,12), "G19x3y6");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(48,32), "G19x3y6");
+ check_base_class_offset(lv, (E19x3*), 0, "G19x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G19x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x3y6.ff");
+ test_class_info(&lv, &cd_G19x3y6);
+ dp->~G19x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y6(Test_G19x3y6, "G19x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y6C1Ev();
+extern void _ZN7G19x3y6D1Ev();
+Name_Map name_map_G19x3y6[] = {
+ NSPAIR(_ZN7G19x3y6C1Ev),
+ NSPAIR(_ZN7G19x3y6D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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_C19, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G19x3y6[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y6[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y6[] = {
+ {&(_ZTV7G19x3y6[6]), 6,19},
+ {&(_tg__ZTV5E19x3__7G19x3y6[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y6[3]), 3,4},
+ {&(_ZTV7G19x3y6[10]), 10,19},
+ {&(_ZTV7G19x3y6[14]), 14,19},
+ {&(_ZTV7G19x3y6[18]), 18,19},
+ {&(_tg__ZTV3C19__7G19x3y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y6[];
+extern VTBL_ENTRY _ZTV7G19x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y6[];
+static VTBL_ENTRY alt_thunk_names204[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y6 = { "G19x3y6", // class name
+ bases_G19x3y6, 6,
+ &(vtc_G19x3y6[0]), // expected_vtbl_contents
+ &(vtt_G19x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y6),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names204,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x3y7 : virtual E19x3 , virtual F0 {
+ int ff;
+ ~G19x3y7(); // tgen
+ G19x3y7(); // tgen
+};
+//SIG(1 G19x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x3y7 ::~G19x3y7(){ note_dtor("G19x3y7", this);} // tgen
+G19x3y7 ::G19x3y7(){ note_ctor("G19x3y7", this);} // tgen
+
+static void Test_G19x3y7()
+{
+ extern Class_Descriptor cd_G19x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x3y7, buf);
+ G19x3y7 *dp, &lv = *(dp=new (buf) G19x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x3y7)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,28), "G19x3y7");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,20), "G19x3y7");
+ check_base_class_offset(lv, (C19*)(E19x3*), ABISELECT(32,16), "G19x3y7");
+ check_base_class_offset(lv, (D1*)(E19x3*), ABISELECT(64,36), "G19x3y7");
+ check_base_class_offset(lv, (E19x3*), ABISELECT(16,8), "G19x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G19x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x3y7.ff");
+ test_class_info(&lv, &cd_G19x3y7);
+ dp->~G19x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x3y7(Test_G19x3y7, "G19x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x3y7C1Ev();
+extern void _ZN7G19x3y7D1Ev();
+Name_Map name_map_G19x3y7[] = {
+ NSPAIR(_ZN7G19x3y7C1Ev),
+ NSPAIR(_ZN7G19x3y7D1Ev),
+ {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_C19;
+extern VTBL_ENTRY _ZTI3C19[];
+extern VTBL_ENTRY _ZTV3C19[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C19[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E19x3;
+extern VTBL_ENTRY _ZTI5E19x3[];
+extern VTBL_ENTRY _ZTV5E19x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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(40,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_C19, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G19x3y7[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G19x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x3y7[];
+static VTBL_ENTRY _tg__ZTV5E19x3__7G19x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x3__7G19x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x3__7G19x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E19x3__7G19x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C19__7G19x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x3y7[] = {
+ {&(_ZTV7G19x3y7[7]), 7,25},
+ {&(_ZTV7G19x3y7[12]), 12,25},
+ {&(_ZTV7G19x3y7[16]), 16,25},
+ {&(_ZTV7G19x3y7[20]), 20,25},
+ {&(_ZTV7G19x3y7[24]), 24,25},
+ {&(_tg__ZTV5E19x3__7G19x3y7[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x3__7G19x3y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x3__7G19x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E19x3__7G19x3y7[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x3y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x3y7[];
+extern VTBL_ENTRY _ZTV7G19x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x3y7[];
+static VTBL_ENTRY alt_thunk_names205[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C193fooEv,_ZThn12_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x3y7 = { "G19x3y7", // class name
+ bases_G19x3y7, 6,
+ &(vtc_G19x3y7[0]), // expected_vtbl_contents
+ &(vtt_G19x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x3y7),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names205,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x3 : virtual C20 , virtual D1 {
+ int fd;
+ ~E20x3(); // tgen
+ E20x3(); // tgen
+};
+//SIG(-1 E20x3) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E20x3 ::~E20x3(){ note_dtor("E20x3", this);} // tgen
+E20x3 ::E20x3(){ note_ctor("E20x3", this);} // tgen
+
+static void Test_E20x3()
+{
+ extern Class_Descriptor cd_E20x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E20x3, buf);
+ E20x3 *dp, &lv = *(dp=new (buf) E20x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E20x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x3)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,16), "E20x3");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,8), "E20x3");
+ check_base_class_offset(lv, (C20*), ABISELECT(16,8), "E20x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E20x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E20x3.fd");
+ test_class_info(&lv, &cd_E20x3);
+ dp->~E20x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x3(Test_E20x3, "E20x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E20x3C1Ev();
+extern void _ZN5E20x3D1Ev();
+Name_Map name_map_E20x3[] = {
+ NSPAIR(_ZN5E20x3C1Ev),
+ NSPAIR(_ZN5E20x3D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E20x3[] = {
+ // 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_C20, 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_D1, ABISELECT(40,24), //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 _ZTI5E20x3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E20x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x3[];
+static VTT_ENTRY vtt_E20x3[] = {
+ {&(_ZTV5E20x3[4]), 4,12},
+ {&(_ZTV5E20x3[7]), 7,12},
+ {&(_ZTV5E20x3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+Class_Descriptor cd_E20x3 = { "E20x3", // class name
+ bases_E20x3, 4,
+ &(vtc_E20x3[0]), // expected_vtbl_contents
+ &(vtt_E20x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E20x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x3),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 G20x3y0 : E20x3 , F1 {
+ int ff;
+ ~G20x3y0(); // tgen
+ G20x3y0(); // tgen
+};
+//SIG(1 G20x3y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x3y0 ::~G20x3y0(){ note_dtor("G20x3y0", this);} // tgen
+G20x3y0 ::G20x3y0(){ note_ctor("G20x3y0", this);} // tgen
+
+static void Test_G20x3y0()
+{
+ extern Class_Descriptor cd_G20x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x3y0, buf);
+ G20x3y0 *dp, &lv = *(dp=new (buf) G20x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y0)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x3y0");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x3y0");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(32,20), "G20x3y0");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(56,36), "G20x3y0");
+ check_base_class_offset(lv, (E20x3*), 0, "G20x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G20x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G20x3y0.ff");
+ test_class_info(&lv, &cd_G20x3y0);
+ dp->~G20x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y0(Test_G20x3y0, "G20x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y0C1Ev();
+extern void _ZN7G20x3y0D1Ev();
+Name_Map name_map_G20x3y0[] = {
+ NSPAIR(_ZN7G20x3y0C1Ev),
+ NSPAIR(_ZN7G20x3y0D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,20), //bcp->offset
+ 7, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, 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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y0[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y0[] = {
+ {&(_ZTV7G20x3y0[4]), 4,15},
+ {&(_tg__ZTV5E20x3__7G20x3y0[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y0[3]), 3,4},
+ {&(_ZTV7G20x3y0[10]), 10,15},
+ {&(_ZTV7G20x3y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G20x3y0[];
+extern VTBL_ENTRY _ZTV7G20x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y0[];
+Class_Descriptor cd_G20x3y0 = { "G20x3y0", // class name
+ bases_G20x3y0, 6,
+ &(vtc_G20x3y0[0]), // expected_vtbl_contents
+ &(vtt_G20x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y0),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 G20x3y1 : virtual E20x3 , F1 {
+ int ff;
+ ~G20x3y1(); // tgen
+ G20x3y1(); // tgen
+};
+//SIG(1 G20x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G20x3y1 ::~G20x3y1(){ note_dtor("G20x3y1", this);} // tgen
+G20x3y1 ::G20x3y1(){ note_ctor("G20x3y1", this);} // tgen
+
+static void Test_G20x3y1()
+{
+ extern Class_Descriptor cd_G20x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x3y1, buf);
+ G20x3y1 *dp, &lv = *(dp=new (buf) G20x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y1)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x3y1");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x3y1");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(32,20), "G20x3y1");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(56,36), "G20x3y1");
+ check_base_class_offset(lv, (E20x3*), ABISELECT(16,12), "G20x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x3y1.ff");
+ test_class_info(&lv, &cd_G20x3y1);
+ dp->~G20x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y1(Test_G20x3y1, "G20x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y1C1Ev();
+extern void _ZN7G20x3y1D1Ev();
+Name_Map name_map_G20x3y1[] = {
+ NSPAIR(_ZN7G20x3y1C1Ev),
+ NSPAIR(_ZN7G20x3y1D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, ABISELECT(16,12), //bcp->offset
+ 6, //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 _ZTI7G20x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y1[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y1[] = {
+ {&(_ZTV7G20x3y1[5]), 5,18},
+ {&(_ZTV7G20x3y1[10]), 10,18},
+ {&(_ZTV7G20x3y1[13]), 13,18},
+ {&(_ZTV7G20x3y1[17]), 17,18},
+ {&(_tg__ZTV5E20x3__7G20x3y1[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x3y1[];
+extern VTBL_ENTRY _ZTV7G20x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y1[];
+Class_Descriptor cd_G20x3y1 = { "G20x3y1", // class name
+ bases_G20x3y1, 6,
+ &(vtc_G20x3y1[0]), // expected_vtbl_contents
+ &(vtt_G20x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y1),7, //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 G20x3y2 : E20x3 , virtual F1 {
+ int ff;
+ ~G20x3y2(); // tgen
+ G20x3y2(); // tgen
+};
+//SIG(1 G20x3y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x3y2 ::~G20x3y2(){ note_dtor("G20x3y2", this);} // tgen
+G20x3y2 ::G20x3y2(){ note_ctor("G20x3y2", this);} // tgen
+
+static void Test_G20x3y2()
+{
+ extern Class_Descriptor cd_G20x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x3y2, buf);
+ G20x3y2 *dp, &lv = *(dp=new (buf) G20x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y2)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "G20x3y2");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "G20x3y2");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(16,12), "G20x3y2");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(40,28), "G20x3y2");
+ check_base_class_offset(lv, (E20x3*), 0, "G20x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x3y2.ff");
+ test_class_info(&lv, &cd_G20x3y2);
+ dp->~G20x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y2(Test_G20x3y2, "G20x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y2C1Ev();
+extern void _ZN7G20x3y2D1Ev();
+Name_Map name_map_G20x3y2[] = {
+ NSPAIR(_ZN7G20x3y2C1Ev),
+ NSPAIR(_ZN7G20x3y2D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x3y2[] = {
+ // 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_C20, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x3y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y2[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y2[] = {
+ {&(_ZTV7G20x3y2[5]), 5,17},
+ {&(_tg__ZTV5E20x3__7G20x3y2[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y2[3]), 3,4},
+ {&(_ZTV7G20x3y2[8]), 8,17},
+ {&(_ZTV7G20x3y2[12]), 12,17},
+ {&(_ZTV7G20x3y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G20x3y2[];
+extern VTBL_ENTRY _ZTV7G20x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y2[];
+Class_Descriptor cd_G20x3y2 = { "G20x3y2", // class name
+ bases_G20x3y2, 6,
+ &(vtc_G20x3y2[0]), // expected_vtbl_contents
+ &(vtt_G20x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y2),7, //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 G20x3y3 : virtual E20x3 , virtual F1 {
+ int ff;
+ ~G20x3y3(); // tgen
+ G20x3y3(); // tgen
+};
+//SIG(1 G20x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G20x3y3 ::~G20x3y3(){ note_dtor("G20x3y3", this);} // tgen
+G20x3y3 ::G20x3y3(){ note_ctor("G20x3y3", this);} // tgen
+
+static void Test_G20x3y3()
+{
+ extern Class_Descriptor cd_G20x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G20x3y3, buf);
+ G20x3y3 *dp, &lv = *(dp=new (buf) G20x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G20x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y3)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,24), "G20x3y3");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,16), "G20x3y3");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(32,16), "G20x3y3");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(56,32), "G20x3y3");
+ check_base_class_offset(lv, (E20x3*), ABISELECT(16,8), "G20x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G20x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x3y3.ff");
+ test_class_info(&lv, &cd_G20x3y3);
+ dp->~G20x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y3(Test_G20x3y3, "G20x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y3C1Ev();
+extern void _ZN7G20x3y3D1Ev();
+Name_Map name_map_G20x3y3[] = {
+ NSPAIR(_ZN7G20x3y3C1Ev),
+ NSPAIR(_ZN7G20x3y3D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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_B1, ABISELECT(32,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_C20, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(72,40), //bcp->offset
+ 18, //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 _ZTI7G20x3y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G20x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y3[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y3[] = {
+ {&(_ZTV7G20x3y3[6]), 6,22},
+ {&(_ZTV7G20x3y3[10]), 10,22},
+ {&(_ZTV7G20x3y3[13]), 13,22},
+ {&(_ZTV7G20x3y3[17]), 17,22},
+ {&(_ZTV7G20x3y3[21]), 21,22},
+ {&(_tg__ZTV5E20x3__7G20x3y3[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x3y3[];
+extern VTBL_ENTRY _ZTV7G20x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y3[];
+Class_Descriptor cd_G20x3y3 = { "G20x3y3", // class name
+ bases_G20x3y3, 6,
+ &(vtc_G20x3y3[0]), // expected_vtbl_contents
+ &(vtt_G20x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G20x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y3),8, //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 G20x3y4 : E20x3 , F0 {
+ int ff;
+ ~G20x3y4(); // tgen
+ G20x3y4(); // tgen
+};
+//SIG(1 G20x3y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x3y4 ::~G20x3y4(){ note_dtor("G20x3y4", this);} // tgen
+G20x3y4 ::G20x3y4(){ note_ctor("G20x3y4", this);} // tgen
+
+static void Test_G20x3y4()
+{
+ extern Class_Descriptor cd_G20x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x3y4, buf);
+ G20x3y4 *dp, &lv = *(dp=new (buf) G20x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y4)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x3y4");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x3y4");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(24,16), "G20x3y4");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(48,32), "G20x3y4");
+ check_base_class_offset(lv, (E20x3*), 0, "G20x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G20x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x3y4.ff");
+ test_class_info(&lv, &cd_G20x3y4);
+ dp->~G20x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y4(Test_G20x3y4, "G20x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y4C1Ev();
+extern void _ZN7G20x3y4D1Ev();
+Name_Map name_map_G20x3y4[] = {
+ NSPAIR(_ZN7G20x3y4C1Ev),
+ NSPAIR(_ZN7G20x3y4D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x3y4[] = {
+ // 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(24,16), //bcp->offset
+ 4, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, 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(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 _ZTI7G20x3y4[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y4[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y4[] = {
+ {&(_ZTV7G20x3y4[4]), 4,12},
+ {&(_tg__ZTV5E20x3__7G20x3y4[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y4[3]), 3,4},
+ {&(_ZTV7G20x3y4[7]), 7,12},
+ {&(_ZTV7G20x3y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G20x3y4[];
+extern VTBL_ENTRY _ZTV7G20x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y4[];
+Class_Descriptor cd_G20x3y4 = { "G20x3y4", // class name
+ bases_G20x3y4, 6,
+ &(vtc_G20x3y4[0]), // expected_vtbl_contents
+ &(vtt_G20x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y4),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 G20x3y5 : virtual E20x3 , F0 {
+ int ff;
+ ~G20x3y5(); // tgen
+ G20x3y5(); // tgen
+};
+//SIG(1 G20x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x3y5 ::~G20x3y5(){ note_dtor("G20x3y5", this);} // tgen
+G20x3y5 ::G20x3y5(){ note_ctor("G20x3y5", this);} // tgen
+
+static void Test_G20x3y5()
+{
+ extern Class_Descriptor cd_G20x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x3y5, buf);
+ G20x3y5 *dp, &lv = *(dp=new (buf) G20x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y5)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x3y5");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x3y5");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(32,20), "G20x3y5");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(56,36), "G20x3y5");
+ check_base_class_offset(lv, (E20x3*), ABISELECT(16,12), "G20x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x3y5.ff");
+ test_class_info(&lv, &cd_G20x3y5);
+ dp->~G20x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y5(Test_G20x3y5, "G20x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y5C1Ev();
+extern void _ZN7G20x3y5D1Ev();
+Name_Map name_map_G20x3y5[] = {
+ NSPAIR(_ZN7G20x3y5C1Ev),
+ NSPAIR(_ZN7G20x3y5D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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, 0},
+ {&cd_B1, 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_C20, ABISELECT(32,20), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, 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_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 _ZTI7G20x3y5[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y5[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y5[] = {
+ {&(_ZTV7G20x3y5[5]), 5,17},
+ {&(_ZTV7G20x3y5[9]), 9,17},
+ {&(_ZTV7G20x3y5[12]), 12,17},
+ {&(_ZTV7G20x3y5[16]), 16,17},
+ {&(_tg__ZTV5E20x3__7G20x3y5[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x3y5[];
+extern VTBL_ENTRY _ZTV7G20x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y5[];
+Class_Descriptor cd_G20x3y5 = { "G20x3y5", // class name
+ bases_G20x3y5, 6,
+ &(vtc_G20x3y5[0]), // expected_vtbl_contents
+ &(vtt_G20x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y5),7, //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 G20x3y6 : E20x3 , virtual F0 {
+ int ff;
+ ~G20x3y6(); // tgen
+ G20x3y6(); // tgen
+};
+//SIG(1 G20x3y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x3y6 ::~G20x3y6(){ note_dtor("G20x3y6", this);} // tgen
+G20x3y6 ::G20x3y6(){ note_ctor("G20x3y6", this);} // tgen
+
+static void Test_G20x3y6()
+{
+ extern Class_Descriptor cd_G20x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x3y6, buf);
+ G20x3y6 *dp, &lv = *(dp=new (buf) G20x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y6)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "G20x3y6");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "G20x3y6");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(16,12), "G20x3y6");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(40,28), "G20x3y6");
+ check_base_class_offset(lv, (E20x3*), 0, "G20x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G20x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x3y6.ff");
+ test_class_info(&lv, &cd_G20x3y6);
+ dp->~G20x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y6(Test_G20x3y6, "G20x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y6C1Ev();
+extern void _ZN7G20x3y6D1Ev();
+Name_Map name_map_G20x3y6[] = {
+ NSPAIR(_ZN7G20x3y6C1Ev),
+ NSPAIR(_ZN7G20x3y6D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x3y6[] = {
+ // 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_C20, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, 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 _ZTI7G20x3y6[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y6[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y6[] = {
+ {&(_ZTV7G20x3y6[5]), 5,13},
+ {&(_tg__ZTV5E20x3__7G20x3y6[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y6[3]), 3,4},
+ {&(_ZTV7G20x3y6[8]), 8,13},
+ {&(_ZTV7G20x3y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G20x3y6[];
+extern VTBL_ENTRY _ZTV7G20x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y6[];
+Class_Descriptor cd_G20x3y6 = { "G20x3y6", // class name
+ bases_G20x3y6, 6,
+ &(vtc_G20x3y6[0]), // expected_vtbl_contents
+ &(vtt_G20x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y6),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 G20x3y7 : virtual E20x3 , virtual F0 {
+ int ff;
+ ~G20x3y7(); // tgen
+ G20x3y7(); // tgen
+};
+//SIG(1 G20x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x3y7 ::~G20x3y7(){ note_dtor("G20x3y7", this);} // tgen
+G20x3y7 ::G20x3y7(){ note_ctor("G20x3y7", this);} // tgen
+
+static void Test_G20x3y7()
+{
+ extern Class_Descriptor cd_G20x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x3y7, buf);
+ G20x3y7 *dp, &lv = *(dp=new (buf) G20x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x3y7)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,24), "G20x3y7");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,16), "G20x3y7");
+ check_base_class_offset(lv, (C20*)(E20x3*), ABISELECT(32,16), "G20x3y7");
+ check_base_class_offset(lv, (D1*)(E20x3*), ABISELECT(56,32), "G20x3y7");
+ check_base_class_offset(lv, (E20x3*), ABISELECT(16,8), "G20x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G20x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x3y7.ff");
+ test_class_info(&lv, &cd_G20x3y7);
+ dp->~G20x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x3y7(Test_G20x3y7, "G20x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x3y7C1Ev();
+extern void _ZN7G20x3y7D1Ev();
+Name_Map name_map_G20x3y7[] = {
+ NSPAIR(_ZN7G20x3y7C1Ev),
+ NSPAIR(_ZN7G20x3y7D1Ev),
+ {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_C20;
+extern VTBL_ENTRY _ZTI3C20[];
+extern VTBL_ENTRY _ZTV3C20[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E20x3;
+extern VTBL_ENTRY _ZTI5E20x3[];
+extern VTBL_ENTRY _ZTV5E20x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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_B1, ABISELECT(32,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_C20, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x3, ABISELECT(16,8), //bcp->offset
+ 6, //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(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 _ZTI7G20x3y7[];
+extern void _ZN3C203fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G20x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x3y7[];
+static VTBL_ENTRY _tg__ZTV5E20x3__7G20x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x3__7G20x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E20x3__7G20x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G20x3y7[] = {
+ {&(_ZTV7G20x3y7[6]), 6,18},
+ {&(_ZTV7G20x3y7[10]), 10,18},
+ {&(_ZTV7G20x3y7[13]), 13,18},
+ {&(_ZTV7G20x3y7[17]), 17,18},
+ {&(_tg__ZTV5E20x3__7G20x3y7[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x3__7G20x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E20x3__7G20x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x3y7[];
+extern VTBL_ENTRY _ZTV7G20x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x3y7[];
+Class_Descriptor cd_G20x3y7 = { "G20x3y7", // class name
+ bases_G20x3y7, 6,
+ &(vtc_G20x3y7[0]), // expected_vtbl_contents
+ &(vtt_G20x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x3y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x3y7),7, //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 E21x3 : virtual C21 , virtual D1 {
+ int fd;
+ ~E21x3(); // tgen
+ E21x3(); // tgen
+};
+//SIG(-1 E21x3) C1{ VBC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E21x3 ::~E21x3(){ note_dtor("E21x3", this);} // tgen
+E21x3 ::E21x3(){ note_ctor("E21x3", this);} // tgen
+
+static void Test_E21x3()
+{
+ extern Class_Descriptor cd_E21x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E21x3, buf);
+ E21x3 *dp, &lv = *(dp=new (buf) E21x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E21x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x3)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,8), "E21x3");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,16), "E21x3");
+ check_base_class_offset(lv, (C21*), ABISELECT(16,8), "E21x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E21x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E21x3.fd");
+ test_class_info(&lv, &cd_E21x3);
+ dp->~E21x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x3(Test_E21x3, "E21x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E21x3C1Ev();
+extern void _ZN5E21x3D1Ev();
+Name_Map name_map_E21x3[] = {
+ NSPAIR(_ZN5E21x3C1Ev),
+ NSPAIR(_ZN5E21x3D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E21x3[] = {
+ // 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_C21, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E21x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E21x3[];
+static VTT_ENTRY vtt_E21x3[] = {
+ {&(_ZTV5E21x3[4]), 4,15},
+ {&(_ZTV5E21x3[7]), 7,15},
+ {&(_ZTV5E21x3[10]), 10,15},
+ {&(_ZTV5E21x3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+Class_Descriptor cd_E21x3 = { "E21x3", // class name
+ bases_E21x3, 4,
+ &(vtc_E21x3[0]), // expected_vtbl_contents
+ &(vtt_E21x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E21x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x3),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 G21x3y0 : E21x3 , F1 {
+ int ff;
+ ~G21x3y0(); // tgen
+ G21x3y0(); // tgen
+};
+//SIG(1 G21x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x3y0 ::~G21x3y0(){ note_dtor("G21x3y0", this);} // tgen
+G21x3y0 ::G21x3y0(){ note_ctor("G21x3y0", this);} // tgen
+
+static void Test_G21x3y0()
+{
+ extern Class_Descriptor cd_G21x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x3y0, buf);
+ G21x3y0 *dp, &lv = *(dp=new (buf) G21x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y0)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x3y0");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x3y0");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(32,20), "G21x3y0");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(64,40), "G21x3y0");
+ check_base_class_offset(lv, (E21x3*), 0, "G21x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G21x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G21x3y0.ff");
+ test_class_info(&lv, &cd_G21x3y0);
+ dp->~G21x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y0(Test_G21x3y0, "G21x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y0C1Ev();
+extern void _ZN7G21x3y0D1Ev();
+Name_Map name_map_G21x3y0[] = {
+ NSPAIR(_ZN7G21x3y0C1Ev),
+ NSPAIR(_ZN7G21x3y0D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,28), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,20), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, 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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y0[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y0[] = {
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y0[] = {
+ {&(_ZTV7G21x3y0[4]), 4,18},
+ {&(_tg__ZTV5E21x3__7G21x3y0[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y0[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y0[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y0[3]), 3,4},
+ {&(_ZTV7G21x3y0[10]), 10,18},
+ {&(_ZTV7G21x3y0[13]), 13,18},
+ {&(_ZTV7G21x3y0[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G21x3y0[];
+extern VTBL_ENTRY _ZTV7G21x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y0[];
+Class_Descriptor cd_G21x3y0 = { "G21x3y0", // class name
+ bases_G21x3y0, 6,
+ &(vtc_G21x3y0[0]), // expected_vtbl_contents
+ &(vtt_G21x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y0),18, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y0),8, //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 G21x3y1 : virtual E21x3 , F1 {
+ int ff;
+ ~G21x3y1(); // tgen
+ G21x3y1(); // tgen
+};
+//SIG(1 G21x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G21x3y1 ::~G21x3y1(){ note_dtor("G21x3y1", this);} // tgen
+G21x3y1 ::G21x3y1(){ note_ctor("G21x3y1", this);} // tgen
+
+static void Test_G21x3y1()
+{
+ extern Class_Descriptor cd_G21x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x3y1, buf);
+ G21x3y1 *dp, &lv = *(dp=new (buf) G21x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y1)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x3y1");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x3y1");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(32,20), "G21x3y1");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(64,40), "G21x3y1");
+ check_base_class_offset(lv, (E21x3*), ABISELECT(16,12), "G21x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x3y1.ff");
+ test_class_info(&lv, &cd_G21x3y1);
+ dp->~G21x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y1(Test_G21x3y1, "G21x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y1C1Ev();
+extern void _ZN7G21x3y1D1Ev();
+Name_Map name_map_G21x3y1[] = {
+ NSPAIR(_ZN7G21x3y1C1Ev),
+ NSPAIR(_ZN7G21x3y1D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,20), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, 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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, ABISELECT(16,12), //bcp->offset
+ 6, //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, 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 _ZTI7G21x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x3y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y1[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y1[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y1[] = {
+ {&(_ZTV7G21x3y1[5]), 5,21},
+ {&(_ZTV7G21x3y1[10]), 10,21},
+ {&(_ZTV7G21x3y1[13]), 13,21},
+ {&(_ZTV7G21x3y1[16]), 16,21},
+ {&(_ZTV7G21x3y1[20]), 20,21},
+ {&(_tg__ZTV5E21x3__7G21x3y1[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y1[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y1[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x3y1[];
+extern VTBL_ENTRY _ZTV7G21x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y1[];
+Class_Descriptor cd_G21x3y1 = { "G21x3y1", // class name
+ bases_G21x3y1, 6,
+ &(vtc_G21x3y1[0]), // expected_vtbl_contents
+ &(vtt_G21x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y1),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y1),9, //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 G21x3y2 : E21x3 , virtual F1 {
+ int ff;
+ ~G21x3y2(); // tgen
+ G21x3y2(); // tgen
+};
+//SIG(1 G21x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x3y2 ::~G21x3y2(){ note_dtor("G21x3y2", this);} // tgen
+G21x3y2 ::G21x3y2(){ note_ctor("G21x3y2", this);} // tgen
+
+static void Test_G21x3y2()
+{
+ extern Class_Descriptor cd_G21x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x3y2, buf);
+ G21x3y2 *dp, &lv = *(dp=new (buf) G21x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y2)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "G21x3y2");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "G21x3y2");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(16,12), "G21x3y2");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(48,32), "G21x3y2");
+ check_base_class_offset(lv, (E21x3*), 0, "G21x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G21x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x3y2.ff");
+ test_class_info(&lv, &cd_G21x3y2);
+ dp->~G21x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y2(Test_G21x3y2, "G21x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y2C1Ev();
+extern void _ZN7G21x3y2D1Ev();
+Name_Map name_map_G21x3y2[] = {
+ NSPAIR(_ZN7G21x3y2C1Ev),
+ NSPAIR(_ZN7G21x3y2D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x3y2[] = {
+ // 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
+ 9, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 12, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, 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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 16, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x3y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y2[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y2[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y2[] = {
+ {&(_ZTV7G21x3y2[5]), 5,20},
+ {&(_tg__ZTV5E21x3__7G21x3y2[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y2[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y2[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y2[3]), 3,4},
+ {&(_ZTV7G21x3y2[8]), 8,20},
+ {&(_ZTV7G21x3y2[11]), 11,20},
+ {&(_ZTV7G21x3y2[15]), 15,20},
+ {&(_ZTV7G21x3y2[19]), 19,20},
+};
+extern VTBL_ENTRY _ZTI7G21x3y2[];
+extern VTBL_ENTRY _ZTV7G21x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y2[];
+Class_Descriptor cd_G21x3y2 = { "G21x3y2", // class name
+ bases_G21x3y2, 6,
+ &(vtc_G21x3y2[0]), // expected_vtbl_contents
+ &(vtt_G21x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y2),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y2),9, //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 G21x3y3 : virtual E21x3 , virtual F1 {
+ int ff;
+ ~G21x3y3(); // tgen
+ G21x3y3(); // tgen
+};
+//SIG(1 G21x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G21x3y3 ::~G21x3y3(){ note_dtor("G21x3y3", this);} // tgen
+G21x3y3 ::G21x3y3(){ note_ctor("G21x3y3", this);} // tgen
+
+static void Test_G21x3y3()
+{
+ extern Class_Descriptor cd_G21x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G21x3y3, buf);
+ G21x3y3 *dp, &lv = *(dp=new (buf) G21x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G21x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y3)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,16), "G21x3y3");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,24), "G21x3y3");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(32,16), "G21x3y3");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(64,36), "G21x3y3");
+ check_base_class_offset(lv, (E21x3*), ABISELECT(16,8), "G21x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G21x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x3y3.ff");
+ test_class_info(&lv, &cd_G21x3y3);
+ dp->~G21x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y3(Test_G21x3y3, "G21x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y3C1Ev();
+extern void _ZN7G21x3y3D1Ev();
+Name_Map name_map_G21x3y3[] = {
+ NSPAIR(_ZN7G21x3y3C1Ev),
+ NSPAIR(_ZN7G21x3y3D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,24), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, ABISELECT(16,8), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 21, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x3y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G21x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y3[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y3[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y3[] = {
+ {&(_ZTV7G21x3y3[6]), 6,25},
+ {&(_ZTV7G21x3y3[10]), 10,25},
+ {&(_ZTV7G21x3y3[13]), 13,25},
+ {&(_ZTV7G21x3y3[16]), 16,25},
+ {&(_ZTV7G21x3y3[20]), 20,25},
+ {&(_ZTV7G21x3y3[24]), 24,25},
+ {&(_tg__ZTV5E21x3__7G21x3y3[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y3[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y3[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x3y3[];
+extern VTBL_ENTRY _ZTV7G21x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y3[];
+Class_Descriptor cd_G21x3y3 = { "G21x3y3", // class name
+ bases_G21x3y3, 6,
+ &(vtc_G21x3y3[0]), // expected_vtbl_contents
+ &(vtt_G21x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G21x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y3),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y3),10, //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 G21x3y4 : E21x3 , F0 {
+ int ff;
+ ~G21x3y4(); // tgen
+ G21x3y4(); // tgen
+};
+//SIG(1 G21x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x3y4 ::~G21x3y4(){ note_dtor("G21x3y4", this);} // tgen
+G21x3y4 ::G21x3y4(){ note_ctor("G21x3y4", this);} // tgen
+
+static void Test_G21x3y4()
+{
+ extern Class_Descriptor cd_G21x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x3y4, buf);
+ G21x3y4 *dp, &lv = *(dp=new (buf) G21x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y4)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x3y4");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x3y4");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(24,16), "G21x3y4");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(56,36), "G21x3y4");
+ check_base_class_offset(lv, (E21x3*), 0, "G21x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G21x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x3y4.ff");
+ test_class_info(&lv, &cd_G21x3y4);
+ dp->~G21x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y4(Test_G21x3y4, "G21x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y4C1Ev();
+extern void _ZN7G21x3y4D1Ev();
+Name_Map name_map_G21x3y4[] = {
+ NSPAIR(_ZN7G21x3y4C1Ev),
+ NSPAIR(_ZN7G21x3y4D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(40,24), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(24,16), //bcp->offset
+ 4, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, 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_F0, 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 _ZTI7G21x3y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y4[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y4[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y4[] = {
+ {&(_ZTV7G21x3y4[4]), 4,15},
+ {&(_tg__ZTV5E21x3__7G21x3y4[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y4[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y4[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y4[3]), 3,4},
+ {&(_ZTV7G21x3y4[7]), 7,15},
+ {&(_ZTV7G21x3y4[10]), 10,15},
+ {&(_ZTV7G21x3y4[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G21x3y4[];
+extern VTBL_ENTRY _ZTV7G21x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y4[];
+Class_Descriptor cd_G21x3y4 = { "G21x3y4", // class name
+ bases_G21x3y4, 6,
+ &(vtc_G21x3y4[0]), // expected_vtbl_contents
+ &(vtt_G21x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y4),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y4),8, //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 G21x3y5 : virtual E21x3 , F0 {
+ int ff;
+ ~G21x3y5(); // tgen
+ G21x3y5(); // tgen
+};
+//SIG(1 G21x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x3y5 ::~G21x3y5(){ note_dtor("G21x3y5", this);} // tgen
+G21x3y5 ::G21x3y5(){ note_ctor("G21x3y5", this);} // tgen
+
+static void Test_G21x3y5()
+{
+ extern Class_Descriptor cd_G21x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x3y5, buf);
+ G21x3y5 *dp, &lv = *(dp=new (buf) G21x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y5)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x3y5");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x3y5");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(32,20), "G21x3y5");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(64,40), "G21x3y5");
+ check_base_class_offset(lv, (E21x3*), ABISELECT(16,12), "G21x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x3y5.ff");
+ test_class_info(&lv, &cd_G21x3y5);
+ dp->~G21x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y5(Test_G21x3y5, "G21x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y5C1Ev();
+extern void _ZN7G21x3y5D1Ev();
+Name_Map name_map_G21x3y5[] = {
+ NSPAIR(_ZN7G21x3y5C1Ev),
+ NSPAIR(_ZN7G21x3y5D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_B1, ABISELECT(48,28), //bcp->offset
+ 13, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,20), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 16, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, 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
+ 6, //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 _ZTI7G21x3y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x3y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y5[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y5[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y5[] = {
+ {&(_ZTV7G21x3y5[5]), 5,20},
+ {&(_ZTV7G21x3y5[9]), 9,20},
+ {&(_ZTV7G21x3y5[12]), 12,20},
+ {&(_ZTV7G21x3y5[15]), 15,20},
+ {&(_ZTV7G21x3y5[19]), 19,20},
+ {&(_tg__ZTV5E21x3__7G21x3y5[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y5[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y5[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x3y5[];
+extern VTBL_ENTRY _ZTV7G21x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y5[];
+Class_Descriptor cd_G21x3y5 = { "G21x3y5", // class name
+ bases_G21x3y5, 6,
+ &(vtc_G21x3y5[0]), // expected_vtbl_contents
+ &(vtt_G21x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y5),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y5),9, //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 G21x3y6 : E21x3 , virtual F0 {
+ int ff;
+ ~G21x3y6(); // tgen
+ G21x3y6(); // tgen
+};
+//SIG(1 G21x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x3y6 ::~G21x3y6(){ note_dtor("G21x3y6", this);} // tgen
+G21x3y6 ::G21x3y6(){ note_ctor("G21x3y6", this);} // tgen
+
+static void Test_G21x3y6()
+{
+ extern Class_Descriptor cd_G21x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x3y6, buf);
+ G21x3y6 *dp, &lv = *(dp=new (buf) G21x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y6)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "G21x3y6");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "G21x3y6");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(16,12), "G21x3y6");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(48,32), "G21x3y6");
+ check_base_class_offset(lv, (E21x3*), 0, "G21x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G21x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x3y6.ff");
+ test_class_info(&lv, &cd_G21x3y6);
+ dp->~G21x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y6(Test_G21x3y6, "G21x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y6C1Ev();
+extern void _ZN7G21x3y6D1Ev();
+Name_Map name_map_G21x3y6[] = {
+ NSPAIR(_ZN7G21x3y6C1Ev),
+ NSPAIR(_ZN7G21x3y6D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x3y6[] = {
+ // 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
+ 9, //bcp->virtual_function_table_offset
+ 2, //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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(16,12), //bcp->offset
+ 5, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 12, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, 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_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 _ZTI7G21x3y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y6[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y6[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y6[] = {
+ {&(_ZTV7G21x3y6[5]), 5,16},
+ {&(_tg__ZTV5E21x3__7G21x3y6[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y6[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y6[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y6[3]), 3,4},
+ {&(_ZTV7G21x3y6[8]), 8,16},
+ {&(_ZTV7G21x3y6[11]), 11,16},
+ {&(_ZTV7G21x3y6[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G21x3y6[];
+extern VTBL_ENTRY _ZTV7G21x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y6[];
+Class_Descriptor cd_G21x3y6 = { "G21x3y6", // class name
+ bases_G21x3y6, 6,
+ &(vtc_G21x3y6[0]), // expected_vtbl_contents
+ &(vtt_G21x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y6),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y6),8, //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 G21x3y7 : virtual E21x3 , virtual F0 {
+ int ff;
+ ~G21x3y7(); // tgen
+ G21x3y7(); // tgen
+};
+//SIG(1 G21x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x3y7 ::~G21x3y7(){ note_dtor("G21x3y7", this);} // tgen
+G21x3y7 ::G21x3y7(){ note_ctor("G21x3y7", this);} // tgen
+
+static void Test_G21x3y7()
+{
+ extern Class_Descriptor cd_G21x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x3y7, buf);
+ G21x3y7 *dp, &lv = *(dp=new (buf) G21x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x3y7)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,16), "G21x3y7");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,24), "G21x3y7");
+ check_base_class_offset(lv, (C21*)(E21x3*), ABISELECT(32,16), "G21x3y7");
+ check_base_class_offset(lv, (D1*)(E21x3*), ABISELECT(64,36), "G21x3y7");
+ check_base_class_offset(lv, (E21x3*), ABISELECT(16,8), "G21x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G21x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x3y7.ff");
+ test_class_info(&lv, &cd_G21x3y7);
+ dp->~G21x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x3y7(Test_G21x3y7, "G21x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x3y7C1Ev();
+extern void _ZN7G21x3y7D1Ev();
+Name_Map name_map_G21x3y7[] = {
+ NSPAIR(_ZN7G21x3y7C1Ev),
+ NSPAIR(_ZN7G21x3y7D1Ev),
+ {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_C21;
+extern VTBL_ENTRY _ZTI3C21[];
+extern VTBL_ENTRY _ZTV3C21[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E21x3;
+extern VTBL_ENTRY _ZTI5E21x3[];
+extern VTBL_ENTRY _ZTV5E21x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,24), //bcp->offset
+ 14, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, ABISELECT(32,16), //bcp->offset
+ 10, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x3, ABISELECT(16,8), //bcp->offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G21x3y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G21x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x3y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x3y7[];
+static VTBL_ENTRY _tg__ZTV5E21x3__7G21x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x3__7G21x3y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x3__7G21x3y7[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E21x3__7G21x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+static VTT_ENTRY vtt_G21x3y7[] = {
+ {&(_ZTV7G21x3y7[6]), 6,21},
+ {&(_ZTV7G21x3y7[10]), 10,21},
+ {&(_ZTV7G21x3y7[13]), 13,21},
+ {&(_ZTV7G21x3y7[16]), 16,21},
+ {&(_ZTV7G21x3y7[20]), 20,21},
+ {&(_tg__ZTV5E21x3__7G21x3y7[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x3__7G21x3y7[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x3__7G21x3y7[2]), 2,3},
+ {&(_tg__ZTV2D1__5E21x3__7G21x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x3y7[];
+extern VTBL_ENTRY _ZTV7G21x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x3y7[];
+Class_Descriptor cd_G21x3y7 = { "G21x3y7", // class name
+ bases_G21x3y7, 6,
+ &(vtc_G21x3y7[0]), // expected_vtbl_contents
+ &(vtt_G21x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x3y7),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x3y7),9, //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 E22x3 : virtual C22 , virtual D1 {
+ int fd;
+ ~E22x3(); // tgen
+ E22x3(); // tgen
+};
+//SIG(-1 E22x3) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E22x3 ::~E22x3(){ note_dtor("E22x3", this);} // tgen
+E22x3 ::E22x3(){ note_ctor("E22x3", this);} // tgen
+
+static void Test_E22x3()
+{
+ extern Class_Descriptor cd_E22x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E22x3, buf);
+ E22x3 *dp, &lv = *(dp=new (buf) E22x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E22x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x3)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,20), "E22x3");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,8), "E22x3");
+ check_base_class_offset(lv, (C22*), ABISELECT(16,8), "E22x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E22x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E22x3.fd");
+ test_class_info(&lv, &cd_E22x3);
+ dp->~E22x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x3(Test_E22x3, "E22x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E22x3C1Ev();
+extern void _ZN5E22x3D1Ev();
+Name_Map name_map_E22x3[] = {
+ NSPAIR(_ZN5E22x3C1Ev),
+ NSPAIR(_ZN5E22x3D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E22x3[] = {
+ // 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(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_C22, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI5E22x3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E22x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x3[] = {
+ {&(_ZTV5E22x3[5]), 5,14},
+ {&(_ZTV5E22x3[9]), 9,14},
+ {&(_ZTV5E22x3[13]), 13,14},
+ {&(_tg__ZTV3C22__5E22x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+Class_Descriptor cd_E22x3 = { "E22x3", // class name
+ bases_E22x3, 4,
+ &(vtc_E22x3[0]), // expected_vtbl_contents
+ &(vtt_E22x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E22x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x3),4, //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 G22x3y0 : E22x3 , F1 {
+ int ff;
+ ~G22x3y0(); // tgen
+ G22x3y0(); // tgen
+};
+//SIG(1 G22x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x3y0 ::~G22x3y0(){ note_dtor("G22x3y0", this);} // tgen
+G22x3y0 ::G22x3y0(){ note_ctor("G22x3y0", this);} // tgen
+
+static void Test_G22x3y0()
+{
+ extern Class_Descriptor cd_G22x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x3y0, buf);
+ G22x3y0 *dp, &lv = *(dp=new (buf) G22x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y0)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x3y0");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x3y0");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(32,20), "G22x3y0");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(56,36), "G22x3y0");
+ check_base_class_offset(lv, (E22x3*), 0, "G22x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G22x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G22x3y0.ff");
+ test_class_info(&lv, &cd_G22x3y0);
+ dp->~G22x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y0(Test_G22x3y0, "G22x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y0C1Ev();
+extern void _ZN7G22x3y0D1Ev();
+Name_Map name_map_G22x3y0[] = {
+ NSPAIR(_ZN7G22x3y0C1Ev),
+ NSPAIR(_ZN7G22x3y0D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x3y0[] = {
+ // 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(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_C22, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y0[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y0[] = {
+ {&(_ZTV7G22x3y0[5]), 5,17},
+ {&(_tg__ZTV5E22x3__7G22x3y0[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y0[3]), 3,4},
+ {&(_ZTV7G22x3y0[12]), 12,17},
+ {&(_ZTV7G22x3y0[16]), 16,17},
+ {&(_tg__ZTV3C22__7G22x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y0[];
+extern VTBL_ENTRY _ZTV7G22x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y0[];
+Class_Descriptor cd_G22x3y0 = { "G22x3y0", // class name
+ bases_G22x3y0, 6,
+ &(vtc_G22x3y0[0]), // expected_vtbl_contents
+ &(vtt_G22x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y0),7, //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 G22x3y1 : virtual E22x3 , F1 {
+ int ff;
+ ~G22x3y1(); // tgen
+ G22x3y1(); // tgen
+};
+//SIG(1 G22x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G22x3y1 ::~G22x3y1(){ note_dtor("G22x3y1", this);} // tgen
+G22x3y1 ::G22x3y1(){ note_ctor("G22x3y1", this);} // tgen
+
+static void Test_G22x3y1()
+{
+ extern Class_Descriptor cd_G22x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x3y1, buf);
+ G22x3y1 *dp, &lv = *(dp=new (buf) G22x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y1)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x3y1");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x3y1");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(32,20), "G22x3y1");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(56,36), "G22x3y1");
+ check_base_class_offset(lv, (E22x3*), ABISELECT(16,12), "G22x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x3y1.ff");
+ test_class_info(&lv, &cd_G22x3y1);
+ dp->~G22x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y1(Test_G22x3y1, "G22x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y1C1Ev();
+extern void _ZN7G22x3y1D1Ev();
+Name_Map name_map_G22x3y1[] = {
+ NSPAIR(_ZN7G22x3y1C1Ev),
+ NSPAIR(_ZN7G22x3y1D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x3y1[] = {
+ // 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(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_C22, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G22x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y1[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y1[] = {
+ {&(_ZTV7G22x3y1[6]), 6,21},
+ {&(_ZTV7G22x3y1[12]), 12,21},
+ {&(_ZTV7G22x3y1[16]), 16,21},
+ {&(_ZTV7G22x3y1[20]), 20,21},
+ {&(_tg__ZTV5E22x3__7G22x3y1[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y1[3]), 3,4},
+ {&(_tg__ZTV3C22__7G22x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y1[];
+extern VTBL_ENTRY _ZTV7G22x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y1[];
+Class_Descriptor cd_G22x3y1 = { "G22x3y1", // class name
+ bases_G22x3y1, 6,
+ &(vtc_G22x3y1[0]), // expected_vtbl_contents
+ &(vtt_G22x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y1),8, //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 G22x3y2 : E22x3 , virtual F1 {
+ int ff;
+ ~G22x3y2(); // tgen
+ G22x3y2(); // tgen
+};
+//SIG(1 G22x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x3y2 ::~G22x3y2(){ note_dtor("G22x3y2", this);} // tgen
+G22x3y2 ::G22x3y2(){ note_ctor("G22x3y2", this);} // tgen
+
+static void Test_G22x3y2()
+{
+ extern Class_Descriptor cd_G22x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x3y2, buf);
+ G22x3y2 *dp, &lv = *(dp=new (buf) G22x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y2)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "G22x3y2");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "G22x3y2");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(16,12), "G22x3y2");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(40,28), "G22x3y2");
+ check_base_class_offset(lv, (E22x3*), 0, "G22x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x3y2.ff");
+ test_class_info(&lv, &cd_G22x3y2);
+ dp->~G22x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y2(Test_G22x3y2, "G22x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y2C1Ev();
+extern void _ZN7G22x3y2D1Ev();
+Name_Map name_map_G22x3y2[] = {
+ NSPAIR(_ZN7G22x3y2C1Ev),
+ NSPAIR(_ZN7G22x3y2D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x3y2[] = {
+ // 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, 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_C22, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x3y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y2[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y2[] = {
+ {&(_ZTV7G22x3y2[6]), 6,19},
+ {&(_tg__ZTV5E22x3__7G22x3y2[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y2[3]), 3,4},
+ {&(_ZTV7G22x3y2[10]), 10,19},
+ {&(_ZTV7G22x3y2[14]), 14,19},
+ {&(_ZTV7G22x3y2[18]), 18,19},
+ {&(_tg__ZTV3C22__7G22x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y2[];
+extern VTBL_ENTRY _ZTV7G22x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y2[];
+Class_Descriptor cd_G22x3y2 = { "G22x3y2", // class name
+ bases_G22x3y2, 6,
+ &(vtc_G22x3y2[0]), // expected_vtbl_contents
+ &(vtt_G22x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y2),8, //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 G22x3y3 : virtual E22x3 , virtual F1 {
+ int ff;
+ ~G22x3y3(); // tgen
+ G22x3y3(); // tgen
+};
+//SIG(1 G22x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G22x3y3 ::~G22x3y3(){ note_dtor("G22x3y3", this);} // tgen
+G22x3y3 ::G22x3y3(){ note_ctor("G22x3y3", this);} // tgen
+
+static void Test_G22x3y3()
+{
+ extern Class_Descriptor cd_G22x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G22x3y3, buf);
+ G22x3y3 *dp, &lv = *(dp=new (buf) G22x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G22x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y3)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,28), "G22x3y3");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,16), "G22x3y3");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(32,16), "G22x3y3");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(56,32), "G22x3y3");
+ check_base_class_offset(lv, (E22x3*), ABISELECT(16,8), "G22x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G22x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x3y3.ff");
+ test_class_info(&lv, &cd_G22x3y3);
+ dp->~G22x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y3(Test_G22x3y3, "G22x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y3C1Ev();
+extern void _ZN7G22x3y3D1Ev();
+Name_Map name_map_G22x3y3[] = {
+ NSPAIR(_ZN7G22x3y3C1Ev),
+ NSPAIR(_ZN7G22x3y3D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x3y3[] = {
+ // 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(32,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_C22, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 21, //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 _ZTI7G22x3y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G22x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y3[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y3[] = {
+ {&(_ZTV7G22x3y3[7]), 7,25},
+ {&(_ZTV7G22x3y3[12]), 12,25},
+ {&(_ZTV7G22x3y3[16]), 16,25},
+ {&(_ZTV7G22x3y3[20]), 20,25},
+ {&(_ZTV7G22x3y3[24]), 24,25},
+ {&(_tg__ZTV5E22x3__7G22x3y3[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y3[3]), 3,4},
+ {&(_tg__ZTV3C22__7G22x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y3[];
+extern VTBL_ENTRY _ZTV7G22x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y3[];
+Class_Descriptor cd_G22x3y3 = { "G22x3y3", // class name
+ bases_G22x3y3, 6,
+ &(vtc_G22x3y3[0]), // expected_vtbl_contents
+ &(vtt_G22x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G22x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y3),9, //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 G22x3y4 : E22x3 , F0 {
+ int ff;
+ ~G22x3y4(); // tgen
+ G22x3y4(); // tgen
+};
+//SIG(1 G22x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x3y4 ::~G22x3y4(){ note_dtor("G22x3y4", this);} // tgen
+G22x3y4 ::G22x3y4(){ note_ctor("G22x3y4", this);} // tgen
+
+static void Test_G22x3y4()
+{
+ extern Class_Descriptor cd_G22x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x3y4, buf);
+ G22x3y4 *dp, &lv = *(dp=new (buf) G22x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y4)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x3y4");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x3y4");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(24,16), "G22x3y4");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(48,32), "G22x3y4");
+ check_base_class_offset(lv, (E22x3*), 0, "G22x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G22x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x3y4.ff");
+ test_class_info(&lv, &cd_G22x3y4);
+ dp->~G22x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y4(Test_G22x3y4, "G22x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y4C1Ev();
+extern void _ZN7G22x3y4D1Ev();
+Name_Map name_map_G22x3y4[] = {
+ NSPAIR(_ZN7G22x3y4C1Ev),
+ NSPAIR(_ZN7G22x3y4D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x3y4[] = {
+ // 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(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_C22, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G22x3y4[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y4[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y4[] = {
+ {&(_ZTV7G22x3y4[5]), 5,14},
+ {&(_tg__ZTV5E22x3__7G22x3y4[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y4[3]), 3,4},
+ {&(_ZTV7G22x3y4[9]), 9,14},
+ {&(_ZTV7G22x3y4[13]), 13,14},
+ {&(_tg__ZTV3C22__7G22x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y4[];
+extern VTBL_ENTRY _ZTV7G22x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y4[];
+Class_Descriptor cd_G22x3y4 = { "G22x3y4", // class name
+ bases_G22x3y4, 6,
+ &(vtc_G22x3y4[0]), // expected_vtbl_contents
+ &(vtt_G22x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y4),7, //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 G22x3y5 : virtual E22x3 , F0 {
+ int ff;
+ ~G22x3y5(); // tgen
+ G22x3y5(); // tgen
+};
+//SIG(1 G22x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x3y5 ::~G22x3y5(){ note_dtor("G22x3y5", this);} // tgen
+G22x3y5 ::G22x3y5(){ note_ctor("G22x3y5", this);} // tgen
+
+static void Test_G22x3y5()
+{
+ extern Class_Descriptor cd_G22x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x3y5, buf);
+ G22x3y5 *dp, &lv = *(dp=new (buf) G22x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y5)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x3y5");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x3y5");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(32,20), "G22x3y5");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(56,36), "G22x3y5");
+ check_base_class_offset(lv, (E22x3*), ABISELECT(16,12), "G22x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x3y5.ff");
+ test_class_info(&lv, &cd_G22x3y5);
+ dp->~G22x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y5(Test_G22x3y5, "G22x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y5C1Ev();
+extern void _ZN7G22x3y5D1Ev();
+Name_Map name_map_G22x3y5[] = {
+ NSPAIR(_ZN7G22x3y5C1Ev),
+ NSPAIR(_ZN7G22x3y5D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x3y5[] = {
+ // 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(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_C22, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, 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_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 _ZTI7G22x3y5[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y5[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y5[] = {
+ {&(_ZTV7G22x3y5[6]), 6,20},
+ {&(_ZTV7G22x3y5[11]), 11,20},
+ {&(_ZTV7G22x3y5[15]), 15,20},
+ {&(_ZTV7G22x3y5[19]), 19,20},
+ {&(_tg__ZTV5E22x3__7G22x3y5[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y5[3]), 3,4},
+ {&(_tg__ZTV3C22__7G22x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y5[];
+extern VTBL_ENTRY _ZTV7G22x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y5[];
+Class_Descriptor cd_G22x3y5 = { "G22x3y5", // class name
+ bases_G22x3y5, 6,
+ &(vtc_G22x3y5[0]), // expected_vtbl_contents
+ &(vtt_G22x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y5),8, //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 G22x3y6 : E22x3 , virtual F0 {
+ int ff;
+ ~G22x3y6(); // tgen
+ G22x3y6(); // tgen
+};
+//SIG(1 G22x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x3y6 ::~G22x3y6(){ note_dtor("G22x3y6", this);} // tgen
+G22x3y6 ::G22x3y6(){ note_ctor("G22x3y6", this);} // tgen
+
+static void Test_G22x3y6()
+{
+ extern Class_Descriptor cd_G22x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x3y6, buf);
+ G22x3y6 *dp, &lv = *(dp=new (buf) G22x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y6)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "G22x3y6");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "G22x3y6");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(16,12), "G22x3y6");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(40,28), "G22x3y6");
+ check_base_class_offset(lv, (E22x3*), 0, "G22x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G22x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x3y6.ff");
+ test_class_info(&lv, &cd_G22x3y6);
+ dp->~G22x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y6(Test_G22x3y6, "G22x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y6C1Ev();
+extern void _ZN7G22x3y6D1Ev();
+Name_Map name_map_G22x3y6[] = {
+ NSPAIR(_ZN7G22x3y6C1Ev),
+ NSPAIR(_ZN7G22x3y6D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x3y6[] = {
+ // 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, 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_C22, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G22x3y6[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y6[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y6[] = {
+ {&(_ZTV7G22x3y6[6]), 6,15},
+ {&(_tg__ZTV5E22x3__7G22x3y6[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y6[3]), 3,4},
+ {&(_ZTV7G22x3y6[10]), 10,15},
+ {&(_ZTV7G22x3y6[14]), 14,15},
+ {&(_tg__ZTV3C22__7G22x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y6[];
+extern VTBL_ENTRY _ZTV7G22x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y6[];
+Class_Descriptor cd_G22x3y6 = { "G22x3y6", // class name
+ bases_G22x3y6, 6,
+ &(vtc_G22x3y6[0]), // expected_vtbl_contents
+ &(vtt_G22x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y6),7, //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 G22x3y7 : virtual E22x3 , virtual F0 {
+ int ff;
+ ~G22x3y7(); // tgen
+ G22x3y7(); // tgen
+};
+//SIG(1 G22x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x3y7 ::~G22x3y7(){ note_dtor("G22x3y7", this);} // tgen
+G22x3y7 ::G22x3y7(){ note_ctor("G22x3y7", this);} // tgen
+
+static void Test_G22x3y7()
+{
+ extern Class_Descriptor cd_G22x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x3y7, buf);
+ G22x3y7 *dp, &lv = *(dp=new (buf) G22x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x3y7)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,28), "G22x3y7");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,16), "G22x3y7");
+ check_base_class_offset(lv, (C22*)(E22x3*), ABISELECT(32,16), "G22x3y7");
+ check_base_class_offset(lv, (D1*)(E22x3*), ABISELECT(56,32), "G22x3y7");
+ check_base_class_offset(lv, (E22x3*), ABISELECT(16,8), "G22x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G22x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x3y7.ff");
+ test_class_info(&lv, &cd_G22x3y7);
+ dp->~G22x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x3y7(Test_G22x3y7, "G22x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x3y7C1Ev();
+extern void _ZN7G22x3y7D1Ev();
+Name_Map name_map_G22x3y7[] = {
+ NSPAIR(_ZN7G22x3y7C1Ev),
+ NSPAIR(_ZN7G22x3y7D1Ev),
+ {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_C22;
+extern VTBL_ENTRY _ZTI3C22[];
+extern VTBL_ENTRY _ZTV3C22[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C22[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E22x3;
+extern VTBL_ENTRY _ZTI5E22x3[];
+extern VTBL_ENTRY _ZTV5E22x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x3y7[] = {
+ // 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(32,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_C22, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x3, ABISELECT(16,8), //bcp->offset
+ 7, //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 _ZTI7G22x3y7[];
+extern void _ZN3C223fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G22x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x3y7[];
+static VTBL_ENTRY _tg__ZTV5E22x3__7G22x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x3__7G22x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E22x3__7G22x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x3y7[] = {
+ {&(_ZTV7G22x3y7[7]), 7,21},
+ {&(_ZTV7G22x3y7[12]), 12,21},
+ {&(_ZTV7G22x3y7[16]), 16,21},
+ {&(_ZTV7G22x3y7[20]), 20,21},
+ {&(_tg__ZTV5E22x3__7G22x3y7[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x3__7G22x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__5E22x3__7G22x3y7[3]), 3,4},
+ {&(_tg__ZTV3C22__7G22x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x3y7[];
+extern VTBL_ENTRY _ZTV7G22x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x3y7[];
+Class_Descriptor cd_G22x3y7 = { "G22x3y7", // class name
+ bases_G22x3y7, 6,
+ &(vtc_G22x3y7[0]), // expected_vtbl_contents
+ &(vtt_G22x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x3y7),8, //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 E23x3 : virtual C23 , virtual D1 {
+ int fd;
+ ~E23x3(); // tgen
+ E23x3(); // tgen
+};
+//SIG(-1 E23x3) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E23x3 ::~E23x3(){ note_dtor("E23x3", this);} // tgen
+E23x3 ::E23x3(){ note_ctor("E23x3", this);} // tgen
+
+static void Test_E23x3()
+{
+ extern Class_Descriptor cd_E23x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E23x3, buf);
+ E23x3 *dp, &lv = *(dp=new (buf) E23x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E23x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x3)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,20), "E23x3");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,8), "E23x3");
+ check_base_class_offset(lv, (C23*), ABISELECT(16,8), "E23x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E23x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E23x3.fd");
+ test_class_info(&lv, &cd_E23x3);
+ dp->~E23x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x3(Test_E23x3, "E23x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E23x3C1Ev();
+extern void _ZN5E23x3D1Ev();
+Name_Map name_map_E23x3[] = {
+ NSPAIR(_ZN5E23x3C1Ev),
+ NSPAIR(_ZN5E23x3D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E23x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 10, //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_C23, 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_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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 _ZTI5E23x3[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E23x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__5E23x3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x3[] = {
+ {&(_ZTV5E23x3[5]), 5,18},
+ {&(_ZTV5E23x3[9]), 9,18},
+ {&(_ZTV5E23x3[13]), 13,18},
+ {&(_ZTV5E23x3[17]), 17,18},
+ {&(_tg__ZTV3C23__5E23x3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+static VTBL_ENTRY alt_thunk_names206[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E23x3 = { "E23x3", // class name
+ bases_E23x3, 4,
+ &(vtc_E23x3[0]), // expected_vtbl_contents
+ &(vtt_E23x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E23x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x3),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names206,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y0 : E23x3 , F1 {
+ int ff;
+ ~G23x3y0(); // tgen
+ G23x3y0(); // tgen
+};
+//SIG(1 G23x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x3y0 ::~G23x3y0(){ note_dtor("G23x3y0", this);} // tgen
+G23x3y0 ::G23x3y0(){ note_ctor("G23x3y0", this);} // tgen
+
+static void Test_G23x3y0()
+{
+ extern Class_Descriptor cd_G23x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x3y0, buf);
+ G23x3y0 *dp, &lv = *(dp=new (buf) G23x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y0)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x3y0");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x3y0");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(32,20), "G23x3y0");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(64,40), "G23x3y0");
+ check_base_class_offset(lv, (E23x3*), 0, "G23x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G23x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G23x3y0.ff");
+ test_class_info(&lv, &cd_G23x3y0);
+ dp->~G23x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y0(Test_G23x3y0, "G23x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y0C1Ev();
+extern void _ZN7G23x3y0D1Ev();
+Name_Map name_map_G23x3y0[] = {
+ NSPAIR(_ZN7G23x3y0C1Ev),
+ NSPAIR(_ZN7G23x3y0D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x3y0[] = {
+ // 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)
+ 7, //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(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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y0[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y0[] = {
+ {&(_ZTV7G23x3y0[5]), 5,21},
+ {&(_tg__ZTV5E23x3__7G23x3y0[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y0[3]), 3,4},
+ {&(_ZTV7G23x3y0[12]), 12,21},
+ {&(_ZTV7G23x3y0[16]), 16,21},
+ {&(_ZTV7G23x3y0[20]), 20,21},
+ {&(_tg__ZTV3C23__7G23x3y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y0[];
+extern VTBL_ENTRY _ZTV7G23x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y0[];
+static VTBL_ENTRY alt_thunk_names207[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y0 = { "G23x3y0", // class name
+ bases_G23x3y0, 6,
+ &(vtc_G23x3y0[0]), // expected_vtbl_contents
+ &(vtt_G23x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y0),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names207,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y1 : virtual E23x3 , F1 {
+ int ff;
+ ~G23x3y1(); // tgen
+ G23x3y1(); // tgen
+};
+//SIG(1 G23x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G23x3y1 ::~G23x3y1(){ note_dtor("G23x3y1", this);} // tgen
+G23x3y1 ::G23x3y1(){ note_ctor("G23x3y1", this);} // tgen
+
+static void Test_G23x3y1()
+{
+ extern Class_Descriptor cd_G23x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x3y1, buf);
+ G23x3y1 *dp, &lv = *(dp=new (buf) G23x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y1)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x3y1");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x3y1");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(32,20), "G23x3y1");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(64,40), "G23x3y1");
+ check_base_class_offset(lv, (E23x3*), ABISELECT(16,12), "G23x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x3y1.ff");
+ test_class_info(&lv, &cd_G23x3y1);
+ dp->~G23x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y1(Test_G23x3y1, "G23x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y1C1Ev();
+extern void _ZN7G23x3y1D1Ev();
+Name_Map name_map_G23x3y1[] = {
+ NSPAIR(_ZN7G23x3y1C1Ev),
+ NSPAIR(_ZN7G23x3y1D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 17, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G23x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y1[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y1[] = {
+ {&(_ZTV7G23x3y1[6]), 6,25},
+ {&(_ZTV7G23x3y1[12]), 12,25},
+ {&(_ZTV7G23x3y1[16]), 16,25},
+ {&(_ZTV7G23x3y1[20]), 20,25},
+ {&(_ZTV7G23x3y1[24]), 24,25},
+ {&(_tg__ZTV5E23x3__7G23x3y1[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y1[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x3y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y1[];
+extern VTBL_ENTRY _ZTV7G23x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y1[];
+static VTBL_ENTRY alt_thunk_names208[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y1 = { "G23x3y1", // class name
+ bases_G23x3y1, 6,
+ &(vtc_G23x3y1[0]), // expected_vtbl_contents
+ &(vtt_G23x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y1),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names208,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y2 : E23x3 , virtual F1 {
+ int ff;
+ ~G23x3y2(); // tgen
+ G23x3y2(); // tgen
+};
+//SIG(1 G23x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x3y2 ::~G23x3y2(){ note_dtor("G23x3y2", this);} // tgen
+G23x3y2 ::G23x3y2(){ note_ctor("G23x3y2", this);} // tgen
+
+static void Test_G23x3y2()
+{
+ extern Class_Descriptor cd_G23x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x3y2, buf);
+ G23x3y2 *dp, &lv = *(dp=new (buf) G23x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y2)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "G23x3y2");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "G23x3y2");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(16,12), "G23x3y2");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(48,32), "G23x3y2");
+ check_base_class_offset(lv, (E23x3*), 0, "G23x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G23x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x3y2.ff");
+ test_class_info(&lv, &cd_G23x3y2);
+ dp->~G23x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y2(Test_G23x3y2, "G23x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y2C1Ev();
+extern void _ZN7G23x3y2D1Ev();
+Name_Map name_map_G23x3y2[] = {
+ NSPAIR(_ZN7G23x3y2C1Ev),
+ NSPAIR(_ZN7G23x3y2D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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_C23, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x3y2[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y2[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y2[] = {
+ {&(_ZTV7G23x3y2[6]), 6,23},
+ {&(_tg__ZTV5E23x3__7G23x3y2[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y2[3]), 3,4},
+ {&(_ZTV7G23x3y2[10]), 10,23},
+ {&(_ZTV7G23x3y2[14]), 14,23},
+ {&(_ZTV7G23x3y2[18]), 18,23},
+ {&(_ZTV7G23x3y2[22]), 22,23},
+ {&(_tg__ZTV3C23__7G23x3y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y2[];
+extern VTBL_ENTRY _ZTV7G23x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y2[];
+static VTBL_ENTRY alt_thunk_names209[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y2 = { "G23x3y2", // class name
+ bases_G23x3y2, 6,
+ &(vtc_G23x3y2[0]), // expected_vtbl_contents
+ &(vtt_G23x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y2),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names209,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y3 : virtual E23x3 , virtual F1 {
+ int ff;
+ ~G23x3y3(); // tgen
+ G23x3y3(); // tgen
+};
+//SIG(1 G23x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G23x3y3 ::~G23x3y3(){ note_dtor("G23x3y3", this);} // tgen
+G23x3y3 ::G23x3y3(){ note_ctor("G23x3y3", this);} // tgen
+
+static void Test_G23x3y3()
+{
+ extern Class_Descriptor cd_G23x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G23x3y3, buf);
+ G23x3y3 *dp, &lv = *(dp=new (buf) G23x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G23x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y3)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,28), "G23x3y3");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,16), "G23x3y3");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(32,16), "G23x3y3");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(64,36), "G23x3y3");
+ check_base_class_offset(lv, (E23x3*), ABISELECT(16,8), "G23x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G23x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x3y3.ff");
+ test_class_info(&lv, &cd_G23x3y3);
+ dp->~G23x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y3(Test_G23x3y3, "G23x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y3C1Ev();
+extern void _ZN7G23x3y3D1Ev();
+Name_Map name_map_G23x3y3[] = {
+ NSPAIR(_ZN7G23x3y3C1Ev),
+ NSPAIR(_ZN7G23x3y3D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x3y3[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G23x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y3[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y3[] = {
+ {&(_ZTV7G23x3y3[7]), 7,29},
+ {&(_ZTV7G23x3y3[12]), 12,29},
+ {&(_ZTV7G23x3y3[16]), 16,29},
+ {&(_ZTV7G23x3y3[20]), 20,29},
+ {&(_ZTV7G23x3y3[24]), 24,29},
+ {&(_ZTV7G23x3y3[28]), 28,29},
+ {&(_tg__ZTV5E23x3__7G23x3y3[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y3[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x3y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y3[];
+extern VTBL_ENTRY _ZTV7G23x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y3[];
+static VTBL_ENTRY alt_thunk_names210[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y3 = { "G23x3y3", // class name
+ bases_G23x3y3, 6,
+ &(vtc_G23x3y3[0]), // expected_vtbl_contents
+ &(vtt_G23x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G23x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y3),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names210,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y4 : E23x3 , F0 {
+ int ff;
+ ~G23x3y4(); // tgen
+ G23x3y4(); // tgen
+};
+//SIG(1 G23x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x3y4 ::~G23x3y4(){ note_dtor("G23x3y4", this);} // tgen
+G23x3y4 ::G23x3y4(){ note_ctor("G23x3y4", this);} // tgen
+
+static void Test_G23x3y4()
+{
+ extern Class_Descriptor cd_G23x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x3y4, buf);
+ G23x3y4 *dp, &lv = *(dp=new (buf) G23x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y4)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x3y4");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x3y4");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(24,16), "G23x3y4");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(56,36), "G23x3y4");
+ check_base_class_offset(lv, (E23x3*), 0, "G23x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G23x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x3y4.ff");
+ test_class_info(&lv, &cd_G23x3y4);
+ dp->~G23x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y4(Test_G23x3y4, "G23x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y4C1Ev();
+extern void _ZN7G23x3y4D1Ev();
+Name_Map name_map_G23x3y4[] = {
+ NSPAIR(_ZN7G23x3y4C1Ev),
+ NSPAIR(_ZN7G23x3y4D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G23x3y4[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y4[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y4[] = {
+ {&(_ZTV7G23x3y4[5]), 5,18},
+ {&(_tg__ZTV5E23x3__7G23x3y4[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y4[3]), 3,4},
+ {&(_ZTV7G23x3y4[9]), 9,18},
+ {&(_ZTV7G23x3y4[13]), 13,18},
+ {&(_ZTV7G23x3y4[17]), 17,18},
+ {&(_tg__ZTV3C23__7G23x3y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y4[];
+extern VTBL_ENTRY _ZTV7G23x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y4[];
+static VTBL_ENTRY alt_thunk_names211[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y4 = { "G23x3y4", // class name
+ bases_G23x3y4, 6,
+ &(vtc_G23x3y4[0]), // expected_vtbl_contents
+ &(vtt_G23x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y4),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names211,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y5 : virtual E23x3 , F0 {
+ int ff;
+ ~G23x3y5(); // tgen
+ G23x3y5(); // tgen
+};
+//SIG(1 G23x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x3y5 ::~G23x3y5(){ note_dtor("G23x3y5", this);} // tgen
+G23x3y5 ::G23x3y5(){ note_ctor("G23x3y5", this);} // tgen
+
+static void Test_G23x3y5()
+{
+ extern Class_Descriptor cd_G23x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x3y5, buf);
+ G23x3y5 *dp, &lv = *(dp=new (buf) G23x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y5)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x3y5");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x3y5");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(32,20), "G23x3y5");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(64,40), "G23x3y5");
+ check_base_class_offset(lv, (E23x3*), ABISELECT(16,12), "G23x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x3y5.ff");
+ test_class_info(&lv, &cd_G23x3y5);
+ dp->~G23x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y5(Test_G23x3y5, "G23x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y5C1Ev();
+extern void _ZN7G23x3y5D1Ev();
+Name_Map name_map_G23x3y5[] = {
+ NSPAIR(_ZN7G23x3y5C1Ev),
+ NSPAIR(_ZN7G23x3y5D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,32), //bcp->offset
+ 16, //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, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, 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_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 _ZTI7G23x3y5[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y5[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y5[] = {
+ {&(_ZTV7G23x3y5[6]), 6,24},
+ {&(_ZTV7G23x3y5[11]), 11,24},
+ {&(_ZTV7G23x3y5[15]), 15,24},
+ {&(_ZTV7G23x3y5[19]), 19,24},
+ {&(_ZTV7G23x3y5[23]), 23,24},
+ {&(_tg__ZTV5E23x3__7G23x3y5[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y5[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x3y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y5[];
+extern VTBL_ENTRY _ZTV7G23x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y5[];
+static VTBL_ENTRY alt_thunk_names212[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y5 = { "G23x3y5", // class name
+ bases_G23x3y5, 6,
+ &(vtc_G23x3y5[0]), // expected_vtbl_contents
+ &(vtt_G23x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y5),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names212,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y6 : E23x3 , virtual F0 {
+ int ff;
+ ~G23x3y6(); // tgen
+ G23x3y6(); // tgen
+};
+//SIG(1 G23x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x3y6 ::~G23x3y6(){ note_dtor("G23x3y6", this);} // tgen
+G23x3y6 ::G23x3y6(){ note_ctor("G23x3y6", this);} // tgen
+
+static void Test_G23x3y6()
+{
+ extern Class_Descriptor cd_G23x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x3y6, buf);
+ G23x3y6 *dp, &lv = *(dp=new (buf) G23x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y6)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "G23x3y6");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "G23x3y6");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(16,12), "G23x3y6");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(48,32), "G23x3y6");
+ check_base_class_offset(lv, (E23x3*), 0, "G23x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G23x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x3y6.ff");
+ test_class_info(&lv, &cd_G23x3y6);
+ dp->~G23x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y6(Test_G23x3y6, "G23x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y6C1Ev();
+extern void _ZN7G23x3y6D1Ev();
+Name_Map name_map_G23x3y6[] = {
+ NSPAIR(_ZN7G23x3y6C1Ev),
+ NSPAIR(_ZN7G23x3y6D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,24), //bcp->offset
+ 11, //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
+ 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_C23, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G23x3y6[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y6[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y6[] = {
+ {&(_ZTV7G23x3y6[6]), 6,19},
+ {&(_tg__ZTV5E23x3__7G23x3y6[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y6[3]), 3,4},
+ {&(_ZTV7G23x3y6[10]), 10,19},
+ {&(_ZTV7G23x3y6[14]), 14,19},
+ {&(_ZTV7G23x3y6[18]), 18,19},
+ {&(_tg__ZTV3C23__7G23x3y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y6[];
+extern VTBL_ENTRY _ZTV7G23x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y6[];
+static VTBL_ENTRY alt_thunk_names213[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y6 = { "G23x3y6", // class name
+ bases_G23x3y6, 6,
+ &(vtc_G23x3y6[0]), // expected_vtbl_contents
+ &(vtt_G23x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y6),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names213,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x3y7 : virtual E23x3 , virtual F0 {
+ int ff;
+ ~G23x3y7(); // tgen
+ G23x3y7(); // tgen
+};
+//SIG(1 G23x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x3y7 ::~G23x3y7(){ note_dtor("G23x3y7", this);} // tgen
+G23x3y7 ::G23x3y7(){ note_ctor("G23x3y7", this);} // tgen
+
+static void Test_G23x3y7()
+{
+ extern Class_Descriptor cd_G23x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x3y7, buf);
+ G23x3y7 *dp, &lv = *(dp=new (buf) G23x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x3y7)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,28), "G23x3y7");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,16), "G23x3y7");
+ check_base_class_offset(lv, (C23*)(E23x3*), ABISELECT(32,16), "G23x3y7");
+ check_base_class_offset(lv, (D1*)(E23x3*), ABISELECT(64,36), "G23x3y7");
+ check_base_class_offset(lv, (E23x3*), ABISELECT(16,8), "G23x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G23x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x3y7.ff");
+ test_class_info(&lv, &cd_G23x3y7);
+ dp->~G23x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x3y7(Test_G23x3y7, "G23x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x3y7C1Ev();
+extern void _ZN7G23x3y7D1Ev();
+Name_Map name_map_G23x3y7[] = {
+ NSPAIR(_ZN7G23x3y7C1Ev),
+ NSPAIR(_ZN7G23x3y7D1Ev),
+ {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_C23;
+extern VTBL_ENTRY _ZTI3C23[];
+extern VTBL_ENTRY _ZTV3C23[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C23[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E23x3;
+extern VTBL_ENTRY _ZTI5E23x3[];
+extern VTBL_ENTRY _ZTV5E23x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 17, //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, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C23, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G23x3y7[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G23x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x3y7[];
+static VTBL_ENTRY _tg__ZTV5E23x3__7G23x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x3__7G23x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x3__7G23x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E23x3__7G23x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C23__7G23x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x3y7[] = {
+ {&(_ZTV7G23x3y7[7]), 7,25},
+ {&(_ZTV7G23x3y7[12]), 12,25},
+ {&(_ZTV7G23x3y7[16]), 16,25},
+ {&(_ZTV7G23x3y7[20]), 20,25},
+ {&(_ZTV7G23x3y7[24]), 24,25},
+ {&(_tg__ZTV5E23x3__7G23x3y7[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x3__7G23x3y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x3__7G23x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E23x3__7G23x3y7[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x3y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x3y7[];
+extern VTBL_ENTRY _ZTV7G23x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x3y7[];
+static VTBL_ENTRY alt_thunk_names214[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C233fooEv,_ZThn12_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x3y7 = { "G23x3y7", // class name
+ bases_G23x3y7, 6,
+ &(vtc_G23x3y7[0]), // expected_vtbl_contents
+ &(vtt_G23x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x3y7),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names214,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x3 : virtual C24 , virtual D1 {
+ int fd;
+ ~E24x3(); // tgen
+ E24x3(); // tgen
+};
+//SIG(-1 E24x3) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E24x3 ::~E24x3(){ note_dtor("E24x3", this);} // tgen
+E24x3 ::E24x3(){ note_ctor("E24x3", this);} // tgen
+
+static void Test_E24x3()
+{
+ extern Class_Descriptor cd_E24x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E24x3, buf);
+ E24x3 *dp, &lv = *(dp=new (buf) E24x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E24x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x3)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,12), "E24x3");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,20), "E24x3");
+ check_base_class_offset(lv, (C24*), ABISELECT(16,8), "E24x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E24x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E24x3.fd");
+ test_class_info(&lv, &cd_E24x3);
+ dp->~E24x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x3(Test_E24x3, "E24x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E24x3C1Ev();
+extern void _ZN5E24x3D1Ev();
+Name_Map name_map_E24x3[] = {
+ NSPAIR(_ZN5E24x3C1Ev),
+ NSPAIR(_ZN5E24x3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E24x3[] = {
+ // 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(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_C24, 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI5E24x3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E24x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x3[] = {
+ {&(_ZTV5E24x3[5]), 5,14},
+ {&(_ZTV5E24x3[9]), 9,14},
+ {&(_ZTV5E24x3[13]), 13,14},
+ {&(_tg__ZTV3C24__5E24x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+Class_Descriptor cd_E24x3 = { "E24x3", // class name
+ bases_E24x3, 4,
+ &(vtc_E24x3[0]), // expected_vtbl_contents
+ &(vtt_E24x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E24x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x3),4, //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 G24x3y0 : E24x3 , F1 {
+ int ff;
+ ~G24x3y0(); // tgen
+ G24x3y0(); // tgen
+};
+//SIG(1 G24x3y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x3y0 ::~G24x3y0(){ note_dtor("G24x3y0", this);} // tgen
+G24x3y0 ::G24x3y0(){ note_ctor("G24x3y0", this);} // tgen
+
+static void Test_G24x3y0()
+{
+ extern Class_Descriptor cd_G24x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x3y0, buf);
+ G24x3y0 *dp, &lv = *(dp=new (buf) G24x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y0)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x3y0");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x3y0");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(32,20), "G24x3y0");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(56,36), "G24x3y0");
+ check_base_class_offset(lv, (E24x3*), 0, "G24x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G24x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G24x3y0.ff");
+ test_class_info(&lv, &cd_G24x3y0);
+ dp->~G24x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y0(Test_G24x3y0, "G24x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y0C1Ev();
+extern void _ZN7G24x3y0D1Ev();
+Name_Map name_map_G24x3y0[] = {
+ NSPAIR(_ZN7G24x3y0C1Ev),
+ NSPAIR(_ZN7G24x3y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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_C24, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G24x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y0[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y0[] = {
+ {&(_ZTV7G24x3y0[5]), 5,17},
+ {&(_tg__ZTV5E24x3__7G24x3y0[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y0[3]), 3,4},
+ {&(_ZTV7G24x3y0[12]), 12,17},
+ {&(_ZTV7G24x3y0[16]), 16,17},
+ {&(_tg__ZTV3C24__7G24x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y0[];
+extern VTBL_ENTRY _ZTV7G24x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y0[];
+Class_Descriptor cd_G24x3y0 = { "G24x3y0", // class name
+ bases_G24x3y0, 6,
+ &(vtc_G24x3y0[0]), // expected_vtbl_contents
+ &(vtt_G24x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y0),7, //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 G24x3y1 : virtual E24x3 , F1 {
+ int ff;
+ ~G24x3y1(); // tgen
+ G24x3y1(); // tgen
+};
+//SIG(1 G24x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G24x3y1 ::~G24x3y1(){ note_dtor("G24x3y1", this);} // tgen
+G24x3y1 ::G24x3y1(){ note_ctor("G24x3y1", this);} // tgen
+
+static void Test_G24x3y1()
+{
+ extern Class_Descriptor cd_G24x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x3y1, buf);
+ G24x3y1 *dp, &lv = *(dp=new (buf) G24x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y1)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x3y1");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x3y1");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(32,20), "G24x3y1");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(56,36), "G24x3y1");
+ check_base_class_offset(lv, (E24x3*), ABISELECT(16,12), "G24x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x3y1.ff");
+ test_class_info(&lv, &cd_G24x3y1);
+ dp->~G24x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y1(Test_G24x3y1, "G24x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y1C1Ev();
+extern void _ZN7G24x3y1D1Ev();
+Name_Map name_map_G24x3y1[] = {
+ NSPAIR(_ZN7G24x3y1C1Ev),
+ NSPAIR(_ZN7G24x3y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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_C24, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI7G24x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y1[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y1[] = {
+ {&(_ZTV7G24x3y1[6]), 6,21},
+ {&(_ZTV7G24x3y1[12]), 12,21},
+ {&(_ZTV7G24x3y1[16]), 16,21},
+ {&(_ZTV7G24x3y1[20]), 20,21},
+ {&(_tg__ZTV5E24x3__7G24x3y1[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y1[3]), 3,4},
+ {&(_tg__ZTV3C24__7G24x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y1[];
+extern VTBL_ENTRY _ZTV7G24x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y1[];
+Class_Descriptor cd_G24x3y1 = { "G24x3y1", // class name
+ bases_G24x3y1, 6,
+ &(vtc_G24x3y1[0]), // expected_vtbl_contents
+ &(vtt_G24x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y1),8, //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 G24x3y2 : E24x3 , virtual F1 {
+ int ff;
+ ~G24x3y2(); // tgen
+ G24x3y2(); // tgen
+};
+//SIG(1 G24x3y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x3y2 ::~G24x3y2(){ note_dtor("G24x3y2", this);} // tgen
+G24x3y2 ::G24x3y2(){ note_ctor("G24x3y2", this);} // tgen
+
+static void Test_G24x3y2()
+{
+ extern Class_Descriptor cd_G24x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x3y2, buf);
+ G24x3y2 *dp, &lv = *(dp=new (buf) G24x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y2)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "G24x3y2");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "G24x3y2");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(16,12), "G24x3y2");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(40,28), "G24x3y2");
+ check_base_class_offset(lv, (E24x3*), 0, "G24x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x3y2.ff");
+ test_class_info(&lv, &cd_G24x3y2);
+ dp->~G24x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y2(Test_G24x3y2, "G24x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y2C1Ev();
+extern void _ZN7G24x3y2D1Ev();
+Name_Map name_map_G24x3y2[] = {
+ NSPAIR(_ZN7G24x3y2C1Ev),
+ NSPAIR(_ZN7G24x3y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x3y2[] = {
+ // 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(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_C24, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(56,36), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x3y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y2[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y2[] = {
+ {&(_ZTV7G24x3y2[6]), 6,19},
+ {&(_tg__ZTV5E24x3__7G24x3y2[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y2[3]), 3,4},
+ {&(_ZTV7G24x3y2[10]), 10,19},
+ {&(_ZTV7G24x3y2[14]), 14,19},
+ {&(_ZTV7G24x3y2[18]), 18,19},
+ {&(_tg__ZTV3C24__7G24x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y2[];
+extern VTBL_ENTRY _ZTV7G24x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y2[];
+Class_Descriptor cd_G24x3y2 = { "G24x3y2", // class name
+ bases_G24x3y2, 6,
+ &(vtc_G24x3y2[0]), // expected_vtbl_contents
+ &(vtt_G24x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y2),8, //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 G24x3y3 : virtual E24x3 , virtual F1 {
+ int ff;
+ ~G24x3y3(); // tgen
+ G24x3y3(); // tgen
+};
+//SIG(1 G24x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G24x3y3 ::~G24x3y3(){ note_dtor("G24x3y3", this);} // tgen
+G24x3y3 ::G24x3y3(){ note_ctor("G24x3y3", this);} // tgen
+
+static void Test_G24x3y3()
+{
+ extern Class_Descriptor cd_G24x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G24x3y3, buf);
+ G24x3y3 *dp, &lv = *(dp=new (buf) G24x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G24x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y3)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,20), "G24x3y3");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,28), "G24x3y3");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(32,16), "G24x3y3");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(56,32), "G24x3y3");
+ check_base_class_offset(lv, (E24x3*), ABISELECT(16,8), "G24x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G24x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x3y3.ff");
+ test_class_info(&lv, &cd_G24x3y3);
+ dp->~G24x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y3(Test_G24x3y3, "G24x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y3C1Ev();
+extern void _ZN7G24x3y3D1Ev();
+Name_Map name_map_G24x3y3[] = {
+ NSPAIR(_ZN7G24x3y3C1Ev),
+ NSPAIR(_ZN7G24x3y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(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_C24, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x3y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G24x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y3[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y3[] = {
+ {&(_ZTV7G24x3y3[7]), 7,25},
+ {&(_ZTV7G24x3y3[12]), 12,25},
+ {&(_ZTV7G24x3y3[16]), 16,25},
+ {&(_ZTV7G24x3y3[20]), 20,25},
+ {&(_ZTV7G24x3y3[24]), 24,25},
+ {&(_tg__ZTV5E24x3__7G24x3y3[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y3[3]), 3,4},
+ {&(_tg__ZTV3C24__7G24x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y3[];
+extern VTBL_ENTRY _ZTV7G24x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y3[];
+Class_Descriptor cd_G24x3y3 = { "G24x3y3", // class name
+ bases_G24x3y3, 6,
+ &(vtc_G24x3y3[0]), // expected_vtbl_contents
+ &(vtt_G24x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G24x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y3),9, //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 G24x3y4 : E24x3 , F0 {
+ int ff;
+ ~G24x3y4(); // tgen
+ G24x3y4(); // tgen
+};
+//SIG(1 G24x3y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x3y4 ::~G24x3y4(){ note_dtor("G24x3y4", this);} // tgen
+G24x3y4 ::G24x3y4(){ note_ctor("G24x3y4", this);} // tgen
+
+static void Test_G24x3y4()
+{
+ extern Class_Descriptor cd_G24x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x3y4, buf);
+ G24x3y4 *dp, &lv = *(dp=new (buf) G24x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y4)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x3y4");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x3y4");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(24,16), "G24x3y4");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(48,32), "G24x3y4");
+ check_base_class_offset(lv, (E24x3*), 0, "G24x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G24x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x3y4.ff");
+ test_class_info(&lv, &cd_G24x3y4);
+ dp->~G24x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y4(Test_G24x3y4, "G24x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y4C1Ev();
+extern void _ZN7G24x3y4D1Ev();
+Name_Map name_map_G24x3y4[] = {
+ NSPAIR(_ZN7G24x3y4C1Ev),
+ NSPAIR(_ZN7G24x3y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x3y4[] = {
+ // 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, 0},
+ {&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_C24, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G24x3y4[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y4[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y4[] = {
+ {&(_ZTV7G24x3y4[5]), 5,14},
+ {&(_tg__ZTV5E24x3__7G24x3y4[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y4[3]), 3,4},
+ {&(_ZTV7G24x3y4[9]), 9,14},
+ {&(_ZTV7G24x3y4[13]), 13,14},
+ {&(_tg__ZTV3C24__7G24x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y4[];
+extern VTBL_ENTRY _ZTV7G24x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y4[];
+Class_Descriptor cd_G24x3y4 = { "G24x3y4", // class name
+ bases_G24x3y4, 6,
+ &(vtc_G24x3y4[0]), // expected_vtbl_contents
+ &(vtt_G24x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y4),7, //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 G24x3y5 : virtual E24x3 , F0 {
+ int ff;
+ ~G24x3y5(); // tgen
+ G24x3y5(); // tgen
+};
+//SIG(1 G24x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x3y5 ::~G24x3y5(){ note_dtor("G24x3y5", this);} // tgen
+G24x3y5 ::G24x3y5(){ note_ctor("G24x3y5", this);} // tgen
+
+static void Test_G24x3y5()
+{
+ extern Class_Descriptor cd_G24x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x3y5, buf);
+ G24x3y5 *dp, &lv = *(dp=new (buf) G24x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y5)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x3y5");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x3y5");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(32,20), "G24x3y5");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(56,36), "G24x3y5");
+ check_base_class_offset(lv, (E24x3*), ABISELECT(16,12), "G24x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x3y5.ff");
+ test_class_info(&lv, &cd_G24x3y5);
+ dp->~G24x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y5(Test_G24x3y5, "G24x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y5C1Ev();
+extern void _ZN7G24x3y5D1Ev();
+Name_Map name_map_G24x3y5[] = {
+ NSPAIR(_ZN7G24x3y5C1Ev),
+ NSPAIR(_ZN7G24x3y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_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_C24, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, 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
+ 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 _ZTI7G24x3y5[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y5[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y5[] = {
+ {&(_ZTV7G24x3y5[6]), 6,20},
+ {&(_ZTV7G24x3y5[11]), 11,20},
+ {&(_ZTV7G24x3y5[15]), 15,20},
+ {&(_ZTV7G24x3y5[19]), 19,20},
+ {&(_tg__ZTV5E24x3__7G24x3y5[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y5[3]), 3,4},
+ {&(_tg__ZTV3C24__7G24x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y5[];
+extern VTBL_ENTRY _ZTV7G24x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y5[];
+Class_Descriptor cd_G24x3y5 = { "G24x3y5", // class name
+ bases_G24x3y5, 6,
+ &(vtc_G24x3y5[0]), // expected_vtbl_contents
+ &(vtt_G24x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y5),8, //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 G24x3y6 : E24x3 , virtual F0 {
+ int ff;
+ ~G24x3y6(); // tgen
+ G24x3y6(); // tgen
+};
+//SIG(1 G24x3y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x3y6 ::~G24x3y6(){ note_dtor("G24x3y6", this);} // tgen
+G24x3y6 ::G24x3y6(){ note_ctor("G24x3y6", this);} // tgen
+
+static void Test_G24x3y6()
+{
+ extern Class_Descriptor cd_G24x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x3y6, buf);
+ G24x3y6 *dp, &lv = *(dp=new (buf) G24x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y6)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "G24x3y6");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "G24x3y6");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(16,12), "G24x3y6");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(40,28), "G24x3y6");
+ check_base_class_offset(lv, (E24x3*), 0, "G24x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G24x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x3y6.ff");
+ test_class_info(&lv, &cd_G24x3y6);
+ dp->~G24x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y6(Test_G24x3y6, "G24x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y6C1Ev();
+extern void _ZN7G24x3y6D1Ev();
+Name_Map name_map_G24x3y6[] = {
+ NSPAIR(_ZN7G24x3y6C1Ev),
+ NSPAIR(_ZN7G24x3y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x3y6[] = {
+ // 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(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_C24, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G24x3y6[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y6[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y6[] = {
+ {&(_ZTV7G24x3y6[6]), 6,15},
+ {&(_tg__ZTV5E24x3__7G24x3y6[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y6[3]), 3,4},
+ {&(_ZTV7G24x3y6[10]), 10,15},
+ {&(_ZTV7G24x3y6[14]), 14,15},
+ {&(_tg__ZTV3C24__7G24x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y6[];
+extern VTBL_ENTRY _ZTV7G24x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y6[];
+Class_Descriptor cd_G24x3y6 = { "G24x3y6", // class name
+ bases_G24x3y6, 6,
+ &(vtc_G24x3y6[0]), // expected_vtbl_contents
+ &(vtt_G24x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y6),7, //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 G24x3y7 : virtual E24x3 , virtual F0 {
+ int ff;
+ ~G24x3y7(); // tgen
+ G24x3y7(); // tgen
+};
+//SIG(1 G24x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x3y7 ::~G24x3y7(){ note_dtor("G24x3y7", this);} // tgen
+G24x3y7 ::G24x3y7(){ note_ctor("G24x3y7", this);} // tgen
+
+static void Test_G24x3y7()
+{
+ extern Class_Descriptor cd_G24x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x3y7, buf);
+ G24x3y7 *dp, &lv = *(dp=new (buf) G24x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x3y7)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,20), "G24x3y7");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,28), "G24x3y7");
+ check_base_class_offset(lv, (C24*)(E24x3*), ABISELECT(32,16), "G24x3y7");
+ check_base_class_offset(lv, (D1*)(E24x3*), ABISELECT(56,32), "G24x3y7");
+ check_base_class_offset(lv, (E24x3*), ABISELECT(16,8), "G24x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G24x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x3y7.ff");
+ test_class_info(&lv, &cd_G24x3y7);
+ dp->~G24x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x3y7(Test_G24x3y7, "G24x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x3y7C1Ev();
+extern void _ZN7G24x3y7D1Ev();
+Name_Map name_map_G24x3y7[] = {
+ NSPAIR(_ZN7G24x3y7C1Ev),
+ NSPAIR(_ZN7G24x3y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C24;
+extern VTBL_ENTRY _ZTI3C24[];
+extern VTBL_ENTRY _ZTV3C24[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C24[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E24x3;
+extern VTBL_ENTRY _ZTI5E24x3[];
+extern VTBL_ENTRY _ZTV5E24x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(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_C24, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_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 _ZTI7G24x3y7[];
+extern void _ZN3C243fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G24x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x3y7[];
+static VTBL_ENTRY _tg__ZTV5E24x3__7G24x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x3__7G24x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E24x3__7G24x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x3y7[] = {
+ {&(_ZTV7G24x3y7[7]), 7,21},
+ {&(_ZTV7G24x3y7[12]), 12,21},
+ {&(_ZTV7G24x3y7[16]), 16,21},
+ {&(_ZTV7G24x3y7[20]), 20,21},
+ {&(_tg__ZTV5E24x3__7G24x3y7[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x3__7G24x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__5E24x3__7G24x3y7[3]), 3,4},
+ {&(_tg__ZTV3C24__7G24x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x3y7[];
+extern VTBL_ENTRY _ZTV7G24x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x3y7[];
+Class_Descriptor cd_G24x3y7 = { "G24x3y7", // class name
+ bases_G24x3y7, 6,
+ &(vtc_G24x3y7[0]), // expected_vtbl_contents
+ &(vtt_G24x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x3y7),8, //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 E25x3 : virtual C25 , virtual D1 {
+ int fd;
+ ~E25x3(); // tgen
+ E25x3(); // tgen
+};
+//SIG(-1 E25x3) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E25x3 ::~E25x3(){ note_dtor("E25x3", this);} // tgen
+E25x3 ::E25x3(){ note_ctor("E25x3", this);} // tgen
+
+static void Test_E25x3()
+{
+ extern Class_Descriptor cd_E25x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E25x3, buf);
+ E25x3 *dp, &lv = *(dp=new (buf) E25x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E25x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x3)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,8), "E25x3");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,20), "E25x3");
+ check_base_class_offset(lv, (C25*), ABISELECT(16,8), "E25x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E25x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E25x3.fd");
+ test_class_info(&lv, &cd_E25x3);
+ dp->~E25x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x3(Test_E25x3, "E25x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E25x3C1Ev();
+extern void _ZN5E25x3D1Ev();
+Name_Map name_map_E25x3[] = {
+ NSPAIR(_ZN5E25x3C1Ev),
+ NSPAIR(_ZN5E25x3D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E25x3[] = {
+ // 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(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_C25, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //bcp->offset
+ 10, //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 _ZTI5E25x3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E25x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x3[] = {
+ {&(_ZTV5E25x3[5]), 5,14},
+ {&(_ZTV5E25x3[9]), 9,14},
+ {&(_ZTV5E25x3[13]), 13,14},
+ {&(_tg__ZTV3C25__5E25x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+Class_Descriptor cd_E25x3 = { "E25x3", // class name
+ bases_E25x3, 4,
+ &(vtc_E25x3[0]), // expected_vtbl_contents
+ &(vtt_E25x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E25x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x3),4, //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 G25x3y0 : E25x3 , F1 {
+ int ff;
+ ~G25x3y0(); // tgen
+ G25x3y0(); // tgen
+};
+//SIG(1 G25x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x3y0 ::~G25x3y0(){ note_dtor("G25x3y0", this);} // tgen
+G25x3y0 ::G25x3y0(){ note_ctor("G25x3y0", this);} // tgen
+
+static void Test_G25x3y0()
+{
+ extern Class_Descriptor cd_G25x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x3y0, buf);
+ G25x3y0 *dp, &lv = *(dp=new (buf) G25x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y0)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x3y0");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x3y0");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(32,20), "G25x3y0");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(56,36), "G25x3y0");
+ check_base_class_offset(lv, (E25x3*), 0, "G25x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G25x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G25x3y0.ff");
+ test_class_info(&lv, &cd_G25x3y0);
+ dp->~G25x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y0(Test_G25x3y0, "G25x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y0C1Ev();
+extern void _ZN7G25x3y0D1Ev();
+Name_Map name_map_G25x3y0[] = {
+ NSPAIR(_ZN7G25x3y0C1Ev),
+ NSPAIR(_ZN7G25x3y0D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 13, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y0[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y0[] = {
+ {&(_ZTV7G25x3y0[5]), 5,17},
+ {&(_tg__ZTV5E25x3__7G25x3y0[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y0[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y0[3]), 3,4},
+ {&(_ZTV7G25x3y0[12]), 12,17},
+ {&(_ZTV7G25x3y0[16]), 16,17},
+ {&(_tg__ZTV3C25__7G25x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y0[];
+extern VTBL_ENTRY _ZTV7G25x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y0[];
+Class_Descriptor cd_G25x3y0 = { "G25x3y0", // class name
+ bases_G25x3y0, 6,
+ &(vtc_G25x3y0[0]), // expected_vtbl_contents
+ &(vtt_G25x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y0),7, //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 G25x3y1 : virtual E25x3 , F1 {
+ int ff;
+ ~G25x3y1(); // tgen
+ G25x3y1(); // tgen
+};
+//SIG(1 G25x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G25x3y1 ::~G25x3y1(){ note_dtor("G25x3y1", this);} // tgen
+G25x3y1 ::G25x3y1(){ note_ctor("G25x3y1", this);} // tgen
+
+static void Test_G25x3y1()
+{
+ extern Class_Descriptor cd_G25x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x3y1, buf);
+ G25x3y1 *dp, &lv = *(dp=new (buf) G25x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y1)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x3y1");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x3y1");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(32,20), "G25x3y1");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(56,36), "G25x3y1");
+ check_base_class_offset(lv, (E25x3*), ABISELECT(16,12), "G25x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x3y1.ff");
+ test_class_info(&lv, &cd_G25x3y1);
+ dp->~G25x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y1(Test_G25x3y1, "G25x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y1C1Ev();
+extern void _ZN7G25x3y1D1Ev();
+Name_Map name_map_G25x3y1[] = {
+ NSPAIR(_ZN7G25x3y1C1Ev),
+ NSPAIR(_ZN7G25x3y1D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G25x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y1[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y1[] = {
+ {&(_ZTV7G25x3y1[6]), 6,21},
+ {&(_ZTV7G25x3y1[12]), 12,21},
+ {&(_ZTV7G25x3y1[16]), 16,21},
+ {&(_ZTV7G25x3y1[20]), 20,21},
+ {&(_tg__ZTV5E25x3__7G25x3y1[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y1[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y1[3]), 3,4},
+ {&(_tg__ZTV3C25__7G25x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y1[];
+extern VTBL_ENTRY _ZTV7G25x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y1[];
+Class_Descriptor cd_G25x3y1 = { "G25x3y1", // class name
+ bases_G25x3y1, 6,
+ &(vtc_G25x3y1[0]), // expected_vtbl_contents
+ &(vtt_G25x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y1),8, //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 G25x3y2 : E25x3 , virtual F1 {
+ int ff;
+ ~G25x3y2(); // tgen
+ G25x3y2(); // tgen
+};
+//SIG(1 G25x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x3y2 ::~G25x3y2(){ note_dtor("G25x3y2", this);} // tgen
+G25x3y2 ::G25x3y2(){ note_ctor("G25x3y2", this);} // tgen
+
+static void Test_G25x3y2()
+{
+ extern Class_Descriptor cd_G25x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x3y2, buf);
+ G25x3y2 *dp, &lv = *(dp=new (buf) G25x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y2)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "G25x3y2");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "G25x3y2");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(16,12), "G25x3y2");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(40,28), "G25x3y2");
+ check_base_class_offset(lv, (E25x3*), 0, "G25x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x3y2.ff");
+ test_class_info(&lv, &cd_G25x3y2);
+ dp->~G25x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y2(Test_G25x3y2, "G25x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y2C1Ev();
+extern void _ZN7G25x3y2D1Ev();
+Name_Map name_map_G25x3y2[] = {
+ NSPAIR(_ZN7G25x3y2C1Ev),
+ NSPAIR(_ZN7G25x3y2D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x3y2[] = {
+ // 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(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_C25, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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
+ 15, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x3y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y2[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y2[] = {
+ {&(_ZTV7G25x3y2[6]), 6,19},
+ {&(_tg__ZTV5E25x3__7G25x3y2[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y2[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y2[3]), 3,4},
+ {&(_ZTV7G25x3y2[10]), 10,19},
+ {&(_ZTV7G25x3y2[14]), 14,19},
+ {&(_ZTV7G25x3y2[18]), 18,19},
+ {&(_tg__ZTV3C25__7G25x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y2[];
+extern VTBL_ENTRY _ZTV7G25x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y2[];
+Class_Descriptor cd_G25x3y2 = { "G25x3y2", // class name
+ bases_G25x3y2, 6,
+ &(vtc_G25x3y2[0]), // expected_vtbl_contents
+ &(vtt_G25x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y2),8, //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 G25x3y3 : virtual E25x3 , virtual F1 {
+ int ff;
+ ~G25x3y3(); // tgen
+ G25x3y3(); // tgen
+};
+//SIG(1 G25x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G25x3y3 ::~G25x3y3(){ note_dtor("G25x3y3", this);} // tgen
+G25x3y3 ::G25x3y3(){ note_ctor("G25x3y3", this);} // tgen
+
+static void Test_G25x3y3()
+{
+ extern Class_Descriptor cd_G25x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G25x3y3, buf);
+ G25x3y3 *dp, &lv = *(dp=new (buf) G25x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G25x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y3)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,16), "G25x3y3");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,28), "G25x3y3");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(32,16), "G25x3y3");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(56,32), "G25x3y3");
+ check_base_class_offset(lv, (E25x3*), ABISELECT(16,8), "G25x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G25x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x3y3.ff");
+ test_class_info(&lv, &cd_G25x3y3);
+ dp->~G25x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y3(Test_G25x3y3, "G25x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y3C1Ev();
+extern void _ZN7G25x3y3D1Ev();
+Name_Map name_map_G25x3y3[] = {
+ NSPAIR(_ZN7G25x3y3C1Ev),
+ NSPAIR(_ZN7G25x3y3D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,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_C25, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, ABISELECT(16,8), //bcp->offset
+ 7, //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
+ 21, //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 _ZTI7G25x3y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G25x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y3[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y3[] = {
+ {&(_ZTV7G25x3y3[7]), 7,25},
+ {&(_ZTV7G25x3y3[12]), 12,25},
+ {&(_ZTV7G25x3y3[16]), 16,25},
+ {&(_ZTV7G25x3y3[20]), 20,25},
+ {&(_ZTV7G25x3y3[24]), 24,25},
+ {&(_tg__ZTV5E25x3__7G25x3y3[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y3[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y3[3]), 3,4},
+ {&(_tg__ZTV3C25__7G25x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y3[];
+extern VTBL_ENTRY _ZTV7G25x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y3[];
+Class_Descriptor cd_G25x3y3 = { "G25x3y3", // class name
+ bases_G25x3y3, 6,
+ &(vtc_G25x3y3[0]), // expected_vtbl_contents
+ &(vtt_G25x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G25x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y3),9, //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 G25x3y4 : E25x3 , F0 {
+ int ff;
+ ~G25x3y4(); // tgen
+ G25x3y4(); // tgen
+};
+//SIG(1 G25x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x3y4 ::~G25x3y4(){ note_dtor("G25x3y4", this);} // tgen
+G25x3y4 ::G25x3y4(){ note_ctor("G25x3y4", this);} // tgen
+
+static void Test_G25x3y4()
+{
+ extern Class_Descriptor cd_G25x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x3y4, buf);
+ G25x3y4 *dp, &lv = *(dp=new (buf) G25x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y4)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x3y4");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x3y4");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(24,16), "G25x3y4");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(48,32), "G25x3y4");
+ check_base_class_offset(lv, (E25x3*), 0, "G25x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G25x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x3y4.ff");
+ test_class_info(&lv, &cd_G25x3y4);
+ dp->~G25x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y4(Test_G25x3y4, "G25x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y4C1Ev();
+extern void _ZN7G25x3y4D1Ev();
+Name_Map name_map_G25x3y4[] = {
+ NSPAIR(_ZN7G25x3y4C1Ev),
+ NSPAIR(_ZN7G25x3y4D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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(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_C25, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G25x3y4[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y4[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y4[] = {
+ {&(_ZTV7G25x3y4[5]), 5,14},
+ {&(_tg__ZTV5E25x3__7G25x3y4[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y4[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y4[3]), 3,4},
+ {&(_ZTV7G25x3y4[9]), 9,14},
+ {&(_ZTV7G25x3y4[13]), 13,14},
+ {&(_tg__ZTV3C25__7G25x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y4[];
+extern VTBL_ENTRY _ZTV7G25x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y4[];
+Class_Descriptor cd_G25x3y4 = { "G25x3y4", // class name
+ bases_G25x3y4, 6,
+ &(vtc_G25x3y4[0]), // expected_vtbl_contents
+ &(vtt_G25x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y4),7, //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 G25x3y5 : virtual E25x3 , F0 {
+ int ff;
+ ~G25x3y5(); // tgen
+ G25x3y5(); // tgen
+};
+//SIG(1 G25x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x3y5 ::~G25x3y5(){ note_dtor("G25x3y5", this);} // tgen
+G25x3y5 ::G25x3y5(){ note_ctor("G25x3y5", this);} // tgen
+
+static void Test_G25x3y5()
+{
+ extern Class_Descriptor cd_G25x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x3y5, buf);
+ G25x3y5 *dp, &lv = *(dp=new (buf) G25x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y5)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x3y5");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x3y5");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(32,20), "G25x3y5");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(56,36), "G25x3y5");
+ check_base_class_offset(lv, (E25x3*), ABISELECT(16,12), "G25x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x3y5.ff");
+ test_class_info(&lv, &cd_G25x3y5);
+ dp->~G25x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y5(Test_G25x3y5, "G25x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y5C1Ev();
+extern void _ZN7G25x3y5D1Ev();
+Name_Map name_map_G25x3y5[] = {
+ NSPAIR(_ZN7G25x3y5C1Ev),
+ NSPAIR(_ZN7G25x3y5D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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_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_C25, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, 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_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 _ZTI7G25x3y5[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y5[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y5[] = {
+ {&(_ZTV7G25x3y5[6]), 6,20},
+ {&(_ZTV7G25x3y5[11]), 11,20},
+ {&(_ZTV7G25x3y5[15]), 15,20},
+ {&(_ZTV7G25x3y5[19]), 19,20},
+ {&(_tg__ZTV5E25x3__7G25x3y5[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y5[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y5[3]), 3,4},
+ {&(_tg__ZTV3C25__7G25x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y5[];
+extern VTBL_ENTRY _ZTV7G25x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y5[];
+Class_Descriptor cd_G25x3y5 = { "G25x3y5", // class name
+ bases_G25x3y5, 6,
+ &(vtc_G25x3y5[0]), // expected_vtbl_contents
+ &(vtt_G25x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y5),8, //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 G25x3y6 : E25x3 , virtual F0 {
+ int ff;
+ ~G25x3y6(); // tgen
+ G25x3y6(); // tgen
+};
+//SIG(1 G25x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x3y6 ::~G25x3y6(){ note_dtor("G25x3y6", this);} // tgen
+G25x3y6 ::G25x3y6(){ note_ctor("G25x3y6", this);} // tgen
+
+static void Test_G25x3y6()
+{
+ extern Class_Descriptor cd_G25x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x3y6, buf);
+ G25x3y6 *dp, &lv = *(dp=new (buf) G25x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y6)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "G25x3y6");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "G25x3y6");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(16,12), "G25x3y6");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(40,28), "G25x3y6");
+ check_base_class_offset(lv, (E25x3*), 0, "G25x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G25x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x3y6.ff");
+ test_class_info(&lv, &cd_G25x3y6);
+ dp->~G25x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y6(Test_G25x3y6, "G25x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y6C1Ev();
+extern void _ZN7G25x3y6D1Ev();
+Name_Map name_map_G25x3y6[] = {
+ NSPAIR(_ZN7G25x3y6C1Ev),
+ NSPAIR(_ZN7G25x3y6D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x3y6[] = {
+ // 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(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_C25, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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 _ZTI7G25x3y6[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y6[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y6[] = {
+ {&(_ZTV7G25x3y6[6]), 6,15},
+ {&(_tg__ZTV5E25x3__7G25x3y6[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y6[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y6[3]), 3,4},
+ {&(_ZTV7G25x3y6[10]), 10,15},
+ {&(_ZTV7G25x3y6[14]), 14,15},
+ {&(_tg__ZTV3C25__7G25x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y6[];
+extern VTBL_ENTRY _ZTV7G25x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y6[];
+Class_Descriptor cd_G25x3y6 = { "G25x3y6", // class name
+ bases_G25x3y6, 6,
+ &(vtc_G25x3y6[0]), // expected_vtbl_contents
+ &(vtt_G25x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y6),7, //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 G25x3y7 : virtual E25x3 , virtual F0 {
+ int ff;
+ ~G25x3y7(); // tgen
+ G25x3y7(); // tgen
+};
+//SIG(1 G25x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x3y7 ::~G25x3y7(){ note_dtor("G25x3y7", this);} // tgen
+G25x3y7 ::G25x3y7(){ note_ctor("G25x3y7", this);} // tgen
+
+static void Test_G25x3y7()
+{
+ extern Class_Descriptor cd_G25x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x3y7, buf);
+ G25x3y7 *dp, &lv = *(dp=new (buf) G25x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x3y7)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,16), "G25x3y7");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,28), "G25x3y7");
+ check_base_class_offset(lv, (C25*)(E25x3*), ABISELECT(32,16), "G25x3y7");
+ check_base_class_offset(lv, (D1*)(E25x3*), ABISELECT(56,32), "G25x3y7");
+ check_base_class_offset(lv, (E25x3*), ABISELECT(16,8), "G25x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G25x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x3y7.ff");
+ test_class_info(&lv, &cd_G25x3y7);
+ dp->~G25x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x3y7(Test_G25x3y7, "G25x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x3y7C1Ev();
+extern void _ZN7G25x3y7D1Ev();
+Name_Map name_map_G25x3y7[] = {
+ NSPAIR(_ZN7G25x3y7C1Ev),
+ NSPAIR(_ZN7G25x3y7D1Ev),
+ {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_C25;
+extern VTBL_ENTRY _ZTI3C25[];
+extern VTBL_ENTRY _ZTV3C25[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C25[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E25x3;
+extern VTBL_ENTRY _ZTI5E25x3[];
+extern VTBL_ENTRY _ZTV5E25x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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,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_C25, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x3, ABISELECT(16,8), //bcp->offset
+ 7, //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 _ZTI7G25x3y7[];
+extern void _ZN3C253fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G25x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x3y7[];
+static VTBL_ENTRY _tg__ZTV5E25x3__7G25x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x3__7G25x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E25x3__7G25x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x3y7[] = {
+ {&(_ZTV7G25x3y7[7]), 7,21},
+ {&(_ZTV7G25x3y7[12]), 12,21},
+ {&(_ZTV7G25x3y7[16]), 16,21},
+ {&(_ZTV7G25x3y7[20]), 20,21},
+ {&(_tg__ZTV5E25x3__7G25x3y7[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x3__7G25x3y7[4]), 4,5},
+ {&(_tg__ZTV2D1__5E25x3__7G25x3y7[3]), 3,4},
+ {&(_tg__ZTV3C25__7G25x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x3y7[];
+extern VTBL_ENTRY _ZTV7G25x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x3y7[];
+Class_Descriptor cd_G25x3y7 = { "G25x3y7", // class name
+ bases_G25x3y7, 6,
+ &(vtc_G25x3y7[0]), // expected_vtbl_contents
+ &(vtt_G25x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x3y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x3y7),8, //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 E26x3 : virtual C26 , virtual D1 {
+ int fd;
+ ~E26x3(); // tgen
+ E26x3(); // tgen
+};
+//SIG(-1 E26x3) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E26x3 ::~E26x3(){ note_dtor("E26x3", this);} // tgen
+E26x3 ::E26x3(){ note_ctor("E26x3", this);} // tgen
+
+static void Test_E26x3()
+{
+ extern Class_Descriptor cd_E26x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E26x3, buf);
+ E26x3 *dp, &lv = *(dp=new (buf) E26x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E26x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x3)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,16), "E26x3");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,20), "E26x3");
+ check_base_class_offset(lv, (C26*), ABISELECT(16,8), "E26x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(40,24), "E26x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E26x3.fd");
+ test_class_info(&lv, &cd_E26x3);
+ dp->~E26x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x3(Test_E26x3, "E26x3", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E26x3C1Ev();
+extern void _ZN5E26x3D1Ev();
+Name_Map name_map_E26x3[] = {
+ NSPAIR(_ZN5E26x3C1Ev),
+ NSPAIR(_ZN5E26x3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E26x3[] = {
+ // 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, 1},
+ {&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, 1},
+ {&cd_C26, 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(40,24), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E26x3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x3[] = {
+ {&(_ZTV5E26x3[6]), 6,16},
+ {&(_ZTV5E26x3[11]), 11,16},
+ {&(_ZTV5E26x3[15]), 15,16},
+ {&(_tg__ZTV3C26__5E26x3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+Class_Descriptor cd_E26x3 = { "E26x3", // class name
+ bases_E26x3, 4,
+ &(vtc_E26x3[0]), // expected_vtbl_contents
+ &(vtt_E26x3[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E26x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x3),4, //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 G26x3y0 : E26x3 , F1 {
+ int ff;
+ ~G26x3y0(); // tgen
+ G26x3y0(); // tgen
+};
+//SIG(1 G26x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x3y0 ::~G26x3y0(){ note_dtor("G26x3y0", this);} // tgen
+G26x3y0 ::G26x3y0(){ note_ctor("G26x3y0", this);} // tgen
+
+static void Test_G26x3y0()
+{
+ extern Class_Descriptor cd_G26x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x3y0, buf);
+ G26x3y0 *dp, &lv = *(dp=new (buf) G26x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y0)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x3y0");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x3y0");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(32,20), "G26x3y0");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(56,36), "G26x3y0");
+ check_base_class_offset(lv, (E26x3*), 0, "G26x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G26x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G26x3y0.ff");
+ test_class_info(&lv, &cd_G26x3y0);
+ dp->~G26x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y0(Test_G26x3y0, "G26x3y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y0C1Ev();
+extern void _ZN7G26x3y0D1Ev();
+Name_Map name_map_G26x3y0[] = {
+ NSPAIR(_ZN7G26x3y0C1Ev),
+ NSPAIR(_ZN7G26x3y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 15, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y0[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y0[] = {
+ {&(_ZTV7G26x3y0[6]), 6,19},
+ {&(_tg__ZTV5E26x3__7G26x3y0[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y0[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y0[3]), 3,4},
+ {&(_ZTV7G26x3y0[14]), 14,19},
+ {&(_ZTV7G26x3y0[18]), 18,19},
+ {&(_tg__ZTV3C26__7G26x3y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y0[];
+extern VTBL_ENTRY _ZTV7G26x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y0[];
+Class_Descriptor cd_G26x3y0 = { "G26x3y0", // class name
+ bases_G26x3y0, 6,
+ &(vtc_G26x3y0[0]), // expected_vtbl_contents
+ &(vtt_G26x3y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y0),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y0),7, //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 G26x3y1 : virtual E26x3 , F1 {
+ int ff;
+ ~G26x3y1(); // tgen
+ G26x3y1(); // tgen
+};
+//SIG(1 G26x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G26x3y1 ::~G26x3y1(){ note_dtor("G26x3y1", this);} // tgen
+G26x3y1 ::G26x3y1(){ note_ctor("G26x3y1", this);} // tgen
+
+static void Test_G26x3y1()
+{
+ extern Class_Descriptor cd_G26x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x3y1, buf);
+ G26x3y1 *dp, &lv = *(dp=new (buf) G26x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y1)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x3y1");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x3y1");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(32,20), "G26x3y1");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(56,36), "G26x3y1");
+ check_base_class_offset(lv, (E26x3*), ABISELECT(16,12), "G26x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x3y1.ff");
+ test_class_info(&lv, &cd_G26x3y1);
+ dp->~G26x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y1(Test_G26x3y1, "G26x3y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y1C1Ev();
+extern void _ZN7G26x3y1D1Ev();
+Name_Map name_map_G26x3y1[] = {
+ NSPAIR(_ZN7G26x3y1C1Ev),
+ NSPAIR(_ZN7G26x3y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 20, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G26x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y1[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y1[] = {
+ {&(_ZTV7G26x3y1[7]), 7,24},
+ {&(_ZTV7G26x3y1[14]), 14,24},
+ {&(_ZTV7G26x3y1[19]), 19,24},
+ {&(_ZTV7G26x3y1[23]), 23,24},
+ {&(_tg__ZTV5E26x3__7G26x3y1[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y1[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y1[3]), 3,4},
+ {&(_tg__ZTV3C26__7G26x3y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y1[];
+extern VTBL_ENTRY _ZTV7G26x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y1[];
+Class_Descriptor cd_G26x3y1 = { "G26x3y1", // class name
+ bases_G26x3y1, 6,
+ &(vtc_G26x3y1[0]), // expected_vtbl_contents
+ &(vtt_G26x3y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y1),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y1),8, //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 G26x3y2 : E26x3 , virtual F1 {
+ int ff;
+ ~G26x3y2(); // tgen
+ G26x3y2(); // tgen
+};
+//SIG(1 G26x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x3y2 ::~G26x3y2(){ note_dtor("G26x3y2", this);} // tgen
+G26x3y2 ::G26x3y2(){ note_ctor("G26x3y2", this);} // tgen
+
+static void Test_G26x3y2()
+{
+ extern Class_Descriptor cd_G26x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x3y2, buf);
+ G26x3y2 *dp, &lv = *(dp=new (buf) G26x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y2)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "G26x3y2");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "G26x3y2");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(16,12), "G26x3y2");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(40,28), "G26x3y2");
+ check_base_class_offset(lv, (E26x3*), 0, "G26x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x3y2.ff");
+ test_class_info(&lv, &cd_G26x3y2);
+ dp->~G26x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y2(Test_G26x3y2, "G26x3y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y2C1Ev();
+extern void _ZN7G26x3y2D1Ev();
+Name_Map name_map_G26x3y2[] = {
+ NSPAIR(_ZN7G26x3y2C1Ev),
+ NSPAIR(_ZN7G26x3y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x3y2[] = {
+ // 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, 1},
+ {&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_C26, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 13, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(56,36), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x3y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x3y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y2[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y2[] = {
+ {&(_ZTV7G26x3y2[7]), 7,21},
+ {&(_tg__ZTV5E26x3__7G26x3y2[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y2[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y2[3]), 3,4},
+ {&(_ZTV7G26x3y2[12]), 12,21},
+ {&(_ZTV7G26x3y2[16]), 16,21},
+ {&(_ZTV7G26x3y2[20]), 20,21},
+ {&(_tg__ZTV3C26__7G26x3y2[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y2[];
+extern VTBL_ENTRY _ZTV7G26x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y2[];
+Class_Descriptor cd_G26x3y2 = { "G26x3y2", // class name
+ bases_G26x3y2, 6,
+ &(vtc_G26x3y2[0]), // expected_vtbl_contents
+ &(vtt_G26x3y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y2),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y2),8, //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 G26x3y3 : virtual E26x3 , virtual F1 {
+ int ff;
+ ~G26x3y3(); // tgen
+ G26x3y3(); // tgen
+};
+//SIG(1 G26x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G26x3y3 ::~G26x3y3(){ note_dtor("G26x3y3", this);} // tgen
+G26x3y3 ::G26x3y3(){ note_ctor("G26x3y3", this);} // tgen
+
+static void Test_G26x3y3()
+{
+ extern Class_Descriptor cd_G26x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G26x3y3, buf);
+ G26x3y3 *dp, &lv = *(dp=new (buf) G26x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G26x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y3)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,24), "G26x3y3");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,28), "G26x3y3");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(32,16), "G26x3y3");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(56,32), "G26x3y3");
+ check_base_class_offset(lv, (E26x3*), ABISELECT(16,8), "G26x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G26x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x3y3.ff");
+ test_class_info(&lv, &cd_G26x3y3);
+ dp->~G26x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y3(Test_G26x3y3, "G26x3y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y3C1Ev();
+extern void _ZN7G26x3y3D1Ev();
+Name_Map name_map_G26x3y3[] = {
+ NSPAIR(_ZN7G26x3y3C1Ev),
+ NSPAIR(_ZN7G26x3y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(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_C26, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 20, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(72,40), //bcp->offset
+ 24, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x3y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x3y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G26x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y3[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y3[] = {
+ {&(_ZTV7G26x3y3[8]), 8,28},
+ {&(_ZTV7G26x3y3[14]), 14,28},
+ {&(_ZTV7G26x3y3[19]), 19,28},
+ {&(_ZTV7G26x3y3[23]), 23,28},
+ {&(_ZTV7G26x3y3[27]), 27,28},
+ {&(_tg__ZTV5E26x3__7G26x3y3[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y3[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y3[3]), 3,4},
+ {&(_tg__ZTV3C26__7G26x3y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y3[];
+extern VTBL_ENTRY _ZTV7G26x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y3[];
+Class_Descriptor cd_G26x3y3 = { "G26x3y3", // class name
+ bases_G26x3y3, 6,
+ &(vtc_G26x3y3[0]), // expected_vtbl_contents
+ &(vtt_G26x3y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G26x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y3),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y3),9, //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 G26x3y4 : E26x3 , F0 {
+ int ff;
+ ~G26x3y4(); // tgen
+ G26x3y4(); // tgen
+};
+//SIG(1 G26x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x3y4 ::~G26x3y4(){ note_dtor("G26x3y4", this);} // tgen
+G26x3y4 ::G26x3y4(){ note_ctor("G26x3y4", this);} // tgen
+
+static void Test_G26x3y4()
+{
+ extern Class_Descriptor cd_G26x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x3y4, buf);
+ G26x3y4 *dp, &lv = *(dp=new (buf) G26x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y4)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x3y4");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x3y4");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(24,16), "G26x3y4");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(48,32), "G26x3y4");
+ check_base_class_offset(lv, (E26x3*), 0, "G26x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G26x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x3y4.ff");
+ test_class_info(&lv, &cd_G26x3y4);
+ dp->~G26x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y4(Test_G26x3y4, "G26x3y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y4C1Ev();
+extern void _ZN7G26x3y4D1Ev();
+Name_Map name_map_G26x3y4[] = {
+ NSPAIR(_ZN7G26x3y4C1Ev),
+ NSPAIR(_ZN7G26x3y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x3y4[] = {
+ // 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_C26, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G26x3y4[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y4[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y4[] = {
+ {&(_ZTV7G26x3y4[6]), 6,16},
+ {&(_tg__ZTV5E26x3__7G26x3y4[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y4[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y4[3]), 3,4},
+ {&(_ZTV7G26x3y4[11]), 11,16},
+ {&(_ZTV7G26x3y4[15]), 15,16},
+ {&(_tg__ZTV3C26__7G26x3y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y4[];
+extern VTBL_ENTRY _ZTV7G26x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y4[];
+Class_Descriptor cd_G26x3y4 = { "G26x3y4", // class name
+ bases_G26x3y4, 6,
+ &(vtc_G26x3y4[0]), // expected_vtbl_contents
+ &(vtt_G26x3y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y4),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y4),7, //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 G26x3y5 : virtual E26x3 , F0 {
+ int ff;
+ ~G26x3y5(); // tgen
+ G26x3y5(); // tgen
+};
+//SIG(1 G26x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x3y5 ::~G26x3y5(){ note_dtor("G26x3y5", this);} // tgen
+G26x3y5 ::G26x3y5(){ note_ctor("G26x3y5", this);} // tgen
+
+static void Test_G26x3y5()
+{
+ extern Class_Descriptor cd_G26x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x3y5, buf);
+ G26x3y5 *dp, &lv = *(dp=new (buf) G26x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y5)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x3y5");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x3y5");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(32,20), "G26x3y5");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(56,36), "G26x3y5");
+ check_base_class_offset(lv, (E26x3*), ABISELECT(16,12), "G26x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x3y5.ff");
+ test_class_info(&lv, &cd_G26x3y5);
+ dp->~G26x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y5(Test_G26x3y5, "G26x3y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y5C1Ev();
+extern void _ZN7G26x3y5D1Ev();
+Name_Map name_map_G26x3y5[] = {
+ NSPAIR(_ZN7G26x3y5C1Ev),
+ NSPAIR(_ZN7G26x3y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_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_C26, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G26x3y5[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y5[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y5[] = {
+ {&(_ZTV7G26x3y5[7]), 7,23},
+ {&(_ZTV7G26x3y5[13]), 13,23},
+ {&(_ZTV7G26x3y5[18]), 18,23},
+ {&(_ZTV7G26x3y5[22]), 22,23},
+ {&(_tg__ZTV5E26x3__7G26x3y5[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y5[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y5[3]), 3,4},
+ {&(_tg__ZTV3C26__7G26x3y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y5[];
+extern VTBL_ENTRY _ZTV7G26x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y5[];
+Class_Descriptor cd_G26x3y5 = { "G26x3y5", // class name
+ bases_G26x3y5, 6,
+ &(vtc_G26x3y5[0]), // expected_vtbl_contents
+ &(vtt_G26x3y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y5),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y5),8, //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 G26x3y6 : E26x3 , virtual F0 {
+ int ff;
+ ~G26x3y6(); // tgen
+ G26x3y6(); // tgen
+};
+//SIG(1 G26x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x3y6 ::~G26x3y6(){ note_dtor("G26x3y6", this);} // tgen
+G26x3y6 ::G26x3y6(){ note_ctor("G26x3y6", this);} // tgen
+
+static void Test_G26x3y6()
+{
+ extern Class_Descriptor cd_G26x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x3y6, buf);
+ G26x3y6 *dp, &lv = *(dp=new (buf) G26x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y6)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "G26x3y6");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "G26x3y6");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(16,12), "G26x3y6");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(40,28), "G26x3y6");
+ check_base_class_offset(lv, (E26x3*), 0, "G26x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G26x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x3y6.ff");
+ test_class_info(&lv, &cd_G26x3y6);
+ dp->~G26x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y6(Test_G26x3y6, "G26x3y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y6C1Ev();
+extern void _ZN7G26x3y6D1Ev();
+Name_Map name_map_G26x3y6[] = {
+ NSPAIR(_ZN7G26x3y6C1Ev),
+ NSPAIR(_ZN7G26x3y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x3y6[] = {
+ // 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, 1},
+ {&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_C26, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 5, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(40,28), //bcp->offset
+ 13, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G26x3y6[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y6[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y6[] = {
+ {&(_ZTV7G26x3y6[7]), 7,17},
+ {&(_tg__ZTV5E26x3__7G26x3y6[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y6[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y6[3]), 3,4},
+ {&(_ZTV7G26x3y6[12]), 12,17},
+ {&(_ZTV7G26x3y6[16]), 16,17},
+ {&(_tg__ZTV3C26__7G26x3y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y6[];
+extern VTBL_ENTRY _ZTV7G26x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y6[];
+Class_Descriptor cd_G26x3y6 = { "G26x3y6", // class name
+ bases_G26x3y6, 6,
+ &(vtc_G26x3y6[0]), // expected_vtbl_contents
+ &(vtt_G26x3y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y6),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y6),7, //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 G26x3y7 : virtual E26x3 , virtual F0 {
+ int ff;
+ ~G26x3y7(); // tgen
+ G26x3y7(); // tgen
+};
+//SIG(1 G26x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x3y7 ::~G26x3y7(){ note_dtor("G26x3y7", this);} // tgen
+G26x3y7 ::G26x3y7(){ note_ctor("G26x3y7", this);} // tgen
+
+static void Test_G26x3y7()
+{
+ extern Class_Descriptor cd_G26x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x3y7, buf);
+ G26x3y7 *dp, &lv = *(dp=new (buf) G26x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x3y7)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,24), "G26x3y7");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,28), "G26x3y7");
+ check_base_class_offset(lv, (C26*)(E26x3*), ABISELECT(32,16), "G26x3y7");
+ check_base_class_offset(lv, (D1*)(E26x3*), ABISELECT(56,32), "G26x3y7");
+ check_base_class_offset(lv, (E26x3*), ABISELECT(16,8), "G26x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G26x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x3y7.ff");
+ test_class_info(&lv, &cd_G26x3y7);
+ dp->~G26x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x3y7(Test_G26x3y7, "G26x3y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x3y7C1Ev();
+extern void _ZN7G26x3y7D1Ev();
+Name_Map name_map_G26x3y7[] = {
+ NSPAIR(_ZN7G26x3y7C1Ev),
+ NSPAIR(_ZN7G26x3y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A0;
+extern VTBL_ENTRY _ZTI2A0[];
+extern Class_Descriptor cd_B0;
+extern VTBL_ENTRY _ZTI2B0[];
+extern Class_Descriptor cd_C26;
+extern VTBL_ENTRY _ZTI3C26[];
+extern VTBL_ENTRY _ZTV3C26[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C26[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E26x3;
+extern VTBL_ENTRY _ZTI5E26x3[];
+extern VTBL_ENTRY _ZTV5E26x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(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_C26, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,32), //bcp->offset
+ 20, //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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G26x3y7[];
+extern void _ZN3C263fooEv();
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G26x3y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x3y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x3y7[];
+static VTBL_ENTRY _tg__ZTV5E26x3__7G26x3y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x3__7G26x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E26x3__7G26x3y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x3y7[] = {
+ {&(_ZTV7G26x3y7[8]), 8,24},
+ {&(_ZTV7G26x3y7[14]), 14,24},
+ {&(_ZTV7G26x3y7[19]), 19,24},
+ {&(_ZTV7G26x3y7[23]), 23,24},
+ {&(_tg__ZTV5E26x3__7G26x3y7[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x3__7G26x3y7[5]), 5,6},
+ {&(_tg__ZTV2D1__5E26x3__7G26x3y7[3]), 3,4},
+ {&(_tg__ZTV3C26__7G26x3y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x3y7[];
+extern VTBL_ENTRY _ZTV7G26x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x3y7[];
+Class_Descriptor cd_G26x3y7 = { "G26x3y7", // class name
+ bases_G26x3y7, 6,
+ &(vtc_G26x3y7[0]), // expected_vtbl_contents
+ &(vtt_G26x3y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x3y7),24, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x3y7),8, //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 E27x3 : virtual C27 , virtual D1 {
+ int fd;
+ ~E27x3(); // tgen
+ E27x3(); // tgen
+};
+//SIG(-1 E27x3) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E27x3 ::~E27x3(){ note_dtor("E27x3", this);} // tgen
+E27x3 ::E27x3(){ note_ctor("E27x3", this);} // tgen
+
+static void Test_E27x3()
+{
+ extern Class_Descriptor cd_E27x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E27x3, buf);
+ E27x3 *dp, &lv = *(dp=new (buf) E27x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E27x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x3)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,16), "E27x3");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,24), "E27x3");
+ check_base_class_offset(lv, (C27*), ABISELECT(16,8), "E27x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E27x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E27x3.fd");
+ test_class_info(&lv, &cd_E27x3);
+ dp->~E27x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x3(Test_E27x3, "E27x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E27x3C1Ev();
+extern void _ZN5E27x3D1Ev();
+Name_Map name_map_E27x3[] = {
+ NSPAIR(_ZN5E27x3C1Ev),
+ NSPAIR(_ZN5E27x3D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E27x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //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(44,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_C27, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E27x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__5E27x3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x3[] = {
+ {&(_ZTV5E27x3[6]), 6,20},
+ {&(_ZTV5E27x3[11]), 11,20},
+ {&(_ZTV5E27x3[15]), 15,20},
+ {&(_ZTV5E27x3[19]), 19,20},
+ {&(_tg__ZTV3C27__5E27x3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+static VTBL_ENTRY alt_thunk_names215[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E27x3 = { "E27x3", // class name
+ bases_E27x3, 4,
+ &(vtc_E27x3[0]), // expected_vtbl_contents
+ &(vtt_E27x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E27x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x3),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names215,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y0 : E27x3 , F1 {
+ int ff;
+ ~G27x3y0(); // tgen
+ G27x3y0(); // tgen
+};
+//SIG(1 G27x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x3y0 ::~G27x3y0(){ note_dtor("G27x3y0", this);} // tgen
+G27x3y0 ::G27x3y0(){ note_ctor("G27x3y0", this);} // tgen
+
+static void Test_G27x3y0()
+{
+ extern Class_Descriptor cd_G27x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x3y0, buf);
+ G27x3y0 *dp, &lv = *(dp=new (buf) G27x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y0)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x3y0");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x3y0");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(32,20), "G27x3y0");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(64,40), "G27x3y0");
+ check_base_class_offset(lv, (E27x3*), 0, "G27x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G27x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G27x3y0.ff");
+ test_class_info(&lv, &cd_G27x3y0);
+ dp->~G27x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y0(Test_G27x3y0, "G27x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y0C1Ev();
+extern void _ZN7G27x3y0D1Ev();
+Name_Map name_map_G27x3y0[] = {
+ NSPAIR(_ZN7G27x3y0C1Ev),
+ NSPAIR(_ZN7G27x3y0D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x3y0[] = {
+ // 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)
+ 7, //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_C27, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 19, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y0[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y0[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y0[] = {
+ {&(_ZTV7G27x3y0[6]), 6,23},
+ {&(_tg__ZTV5E27x3__7G27x3y0[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y0[3]), 3,4},
+ {&(_ZTV7G27x3y0[14]), 14,23},
+ {&(_ZTV7G27x3y0[18]), 18,23},
+ {&(_ZTV7G27x3y0[22]), 22,23},
+ {&(_tg__ZTV3C27__7G27x3y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y0[];
+extern VTBL_ENTRY _ZTV7G27x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y0[];
+static VTBL_ENTRY alt_thunk_names216[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y0 = { "G27x3y0", // class name
+ bases_G27x3y0, 6,
+ &(vtc_G27x3y0[0]), // expected_vtbl_contents
+ &(vtt_G27x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y0),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y0),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names216,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y1 : virtual E27x3 , F1 {
+ int ff;
+ ~G27x3y1(); // tgen
+ G27x3y1(); // tgen
+};
+//SIG(1 G27x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G27x3y1 ::~G27x3y1(){ note_dtor("G27x3y1", this);} // tgen
+G27x3y1 ::G27x3y1(){ note_ctor("G27x3y1", this);} // tgen
+
+static void Test_G27x3y1()
+{
+ extern Class_Descriptor cd_G27x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x3y1, buf);
+ G27x3y1 *dp, &lv = *(dp=new (buf) G27x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y1)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x3y1");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x3y1");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(32,20), "G27x3y1");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(64,40), "G27x3y1");
+ check_base_class_offset(lv, (E27x3*), ABISELECT(16,12), "G27x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x3y1.ff");
+ test_class_info(&lv, &cd_G27x3y1);
+ dp->~G27x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y1(Test_G27x3y1, "G27x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y1C1Ev();
+extern void _ZN7G27x3y1D1Ev();
+Name_Map name_map_G27x3y1[] = {
+ NSPAIR(_ZN7G27x3y1C1Ev),
+ NSPAIR(_ZN7G27x3y1D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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(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_C27, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G27x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x3y1[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y1[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y1[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y1[] = {
+ {&(_ZTV7G27x3y1[7]), 7,28},
+ {&(_ZTV7G27x3y1[14]), 14,28},
+ {&(_ZTV7G27x3y1[19]), 19,28},
+ {&(_ZTV7G27x3y1[23]), 23,28},
+ {&(_ZTV7G27x3y1[27]), 27,28},
+ {&(_tg__ZTV5E27x3__7G27x3y1[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y1[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x3y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y1[];
+extern VTBL_ENTRY _ZTV7G27x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y1[];
+static VTBL_ENTRY alt_thunk_names217[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y1 = { "G27x3y1", // class name
+ bases_G27x3y1, 6,
+ &(vtc_G27x3y1[0]), // expected_vtbl_contents
+ &(vtt_G27x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y1),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y1),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names217,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y2 : E27x3 , virtual F1 {
+ int ff;
+ ~G27x3y2(); // tgen
+ G27x3y2(); // tgen
+};
+//SIG(1 G27x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x3y2 ::~G27x3y2(){ note_dtor("G27x3y2", this);} // tgen
+G27x3y2 ::G27x3y2(){ note_ctor("G27x3y2", this);} // tgen
+
+static void Test_G27x3y2()
+{
+ extern Class_Descriptor cd_G27x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x3y2, buf);
+ G27x3y2 *dp, &lv = *(dp=new (buf) G27x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y2)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "G27x3y2");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "G27x3y2");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(16,12), "G27x3y2");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(48,32), "G27x3y2");
+ check_base_class_offset(lv, (E27x3*), 0, "G27x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G27x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x3y2.ff");
+ test_class_info(&lv, &cd_G27x3y2);
+ dp->~G27x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y2(Test_G27x3y2, "G27x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y2C1Ev();
+extern void _ZN7G27x3y2D1Ev();
+Name_Map name_map_G27x3y2[] = {
+ NSPAIR(_ZN7G27x3y2C1Ev),
+ NSPAIR(_ZN7G27x3y2D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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
+ 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_C27, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x3y2[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y2[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y2[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y2[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y2[] = {
+ {&(_ZTV7G27x3y2[7]), 7,25},
+ {&(_tg__ZTV5E27x3__7G27x3y2[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y2[3]), 3,4},
+ {&(_ZTV7G27x3y2[12]), 12,25},
+ {&(_ZTV7G27x3y2[16]), 16,25},
+ {&(_ZTV7G27x3y2[20]), 20,25},
+ {&(_ZTV7G27x3y2[24]), 24,25},
+ {&(_tg__ZTV3C27__7G27x3y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y2[];
+extern VTBL_ENTRY _ZTV7G27x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y2[];
+static VTBL_ENTRY alt_thunk_names218[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y2 = { "G27x3y2", // class name
+ bases_G27x3y2, 6,
+ &(vtc_G27x3y2[0]), // expected_vtbl_contents
+ &(vtt_G27x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y2),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y2),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names218,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y3 : virtual E27x3 , virtual F1 {
+ int ff;
+ ~G27x3y3(); // tgen
+ G27x3y3(); // tgen
+};
+//SIG(1 G27x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G27x3y3 ::~G27x3y3(){ note_dtor("G27x3y3", this);} // tgen
+G27x3y3 ::G27x3y3(){ note_ctor("G27x3y3", this);} // tgen
+
+static void Test_G27x3y3()
+{
+ extern Class_Descriptor cd_G27x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G27x3y3, buf);
+ G27x3y3 *dp, &lv = *(dp=new (buf) G27x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G27x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y3)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,24), "G27x3y3");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,32), "G27x3y3");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(32,16), "G27x3y3");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(64,36), "G27x3y3");
+ check_base_class_offset(lv, (E27x3*), ABISELECT(16,8), "G27x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G27x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x3y3.ff");
+ test_class_info(&lv, &cd_G27x3y3);
+ dp->~G27x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y3(Test_G27x3y3, "G27x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y3C1Ev();
+extern void _ZN7G27x3y3D1Ev();
+Name_Map name_map_G27x3y3[] = {
+ NSPAIR(_ZN7G27x3y3C1Ev),
+ NSPAIR(_ZN7G27x3y3D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 20, //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(60,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_C27, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 28, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x3y3[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G27x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y3[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y3[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y3[] = {
+ {&(_ZTV7G27x3y3[8]), 8,32},
+ {&(_ZTV7G27x3y3[14]), 14,32},
+ {&(_ZTV7G27x3y3[19]), 19,32},
+ {&(_ZTV7G27x3y3[23]), 23,32},
+ {&(_ZTV7G27x3y3[27]), 27,32},
+ {&(_ZTV7G27x3y3[31]), 31,32},
+ {&(_tg__ZTV5E27x3__7G27x3y3[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y3[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x3y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y3[];
+extern VTBL_ENTRY _ZTV7G27x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y3[];
+static VTBL_ENTRY alt_thunk_names219[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y3 = { "G27x3y3", // class name
+ bases_G27x3y3, 6,
+ &(vtc_G27x3y3[0]), // expected_vtbl_contents
+ &(vtt_G27x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G27x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y3),32, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y3),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names219,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y4 : E27x3 , F0 {
+ int ff;
+ ~G27x3y4(); // tgen
+ G27x3y4(); // tgen
+};
+//SIG(1 G27x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x3y4 ::~G27x3y4(){ note_dtor("G27x3y4", this);} // tgen
+G27x3y4 ::G27x3y4(){ note_ctor("G27x3y4", this);} // tgen
+
+static void Test_G27x3y4()
+{
+ extern Class_Descriptor cd_G27x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x3y4, buf);
+ G27x3y4 *dp, &lv = *(dp=new (buf) G27x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y4)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x3y4");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x3y4");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(24,16), "G27x3y4");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(56,36), "G27x3y4");
+ check_base_class_offset(lv, (E27x3*), 0, "G27x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G27x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x3y4.ff");
+ test_class_info(&lv, &cd_G27x3y4);
+ dp->~G27x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y4(Test_G27x3y4, "G27x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y4C1Ev();
+extern void _ZN7G27x3y4D1Ev();
+Name_Map name_map_G27x3y4[] = {
+ NSPAIR(_ZN7G27x3y4C1Ev),
+ NSPAIR(_ZN7G27x3y4D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //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
+ 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_C27, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G27x3y4[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y4[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y4[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y4[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y4[] = {
+ {&(_ZTV7G27x3y4[6]), 6,20},
+ {&(_tg__ZTV5E27x3__7G27x3y4[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y4[3]), 3,4},
+ {&(_ZTV7G27x3y4[11]), 11,20},
+ {&(_ZTV7G27x3y4[15]), 15,20},
+ {&(_ZTV7G27x3y4[19]), 19,20},
+ {&(_tg__ZTV3C27__7G27x3y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y4[];
+extern VTBL_ENTRY _ZTV7G27x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y4[];
+static VTBL_ENTRY alt_thunk_names220[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y4 = { "G27x3y4", // class name
+ bases_G27x3y4, 6,
+ &(vtc_G27x3y4[0]), // expected_vtbl_contents
+ &(vtt_G27x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y4),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y4),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names220,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y5 : virtual E27x3 , F0 {
+ int ff;
+ ~G27x3y5(); // tgen
+ G27x3y5(); // tgen
+};
+//SIG(1 G27x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x3y5 ::~G27x3y5(){ note_dtor("G27x3y5", this);} // tgen
+G27x3y5 ::G27x3y5(){ note_ctor("G27x3y5", this);} // tgen
+
+static void Test_G27x3y5()
+{
+ extern Class_Descriptor cd_G27x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x3y5, buf);
+ G27x3y5 *dp, &lv = *(dp=new (buf) G27x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y5)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x3y5");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x3y5");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(32,20), "G27x3y5");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(64,40), "G27x3y5");
+ check_base_class_offset(lv, (E27x3*), ABISELECT(16,12), "G27x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x3y5.ff");
+ test_class_info(&lv, &cd_G27x3y5);
+ dp->~G27x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y5(Test_G27x3y5, "G27x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y5C1Ev();
+extern void _ZN7G27x3y5D1Ev();
+Name_Map name_map_G27x3y5[] = {
+ NSPAIR(_ZN7G27x3y5C1Ev),
+ NSPAIR(_ZN7G27x3y5D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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
+ 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_C27, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 23, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G27x3y5[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x3y5[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y5[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y5[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y5[] = {
+ {&(_ZTV7G27x3y5[7]), 7,27},
+ {&(_ZTV7G27x3y5[13]), 13,27},
+ {&(_ZTV7G27x3y5[18]), 18,27},
+ {&(_ZTV7G27x3y5[22]), 22,27},
+ {&(_ZTV7G27x3y5[26]), 26,27},
+ {&(_tg__ZTV5E27x3__7G27x3y5[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y5[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x3y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y5[];
+extern VTBL_ENTRY _ZTV7G27x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y5[];
+static VTBL_ENTRY alt_thunk_names221[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y5 = { "G27x3y5", // class name
+ bases_G27x3y5, 6,
+ &(vtc_G27x3y5[0]), // expected_vtbl_contents
+ &(vtt_G27x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y5),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y5),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names221,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y6 : E27x3 , virtual F0 {
+ int ff;
+ ~G27x3y6(); // tgen
+ G27x3y6(); // tgen
+};
+//SIG(1 G27x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x3y6 ::~G27x3y6(){ note_dtor("G27x3y6", this);} // tgen
+G27x3y6 ::G27x3y6(){ note_ctor("G27x3y6", this);} // tgen
+
+static void Test_G27x3y6()
+{
+ extern Class_Descriptor cd_G27x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x3y6, buf);
+ G27x3y6 *dp, &lv = *(dp=new (buf) G27x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y6)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "G27x3y6");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "G27x3y6");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(16,12), "G27x3y6");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(48,32), "G27x3y6");
+ check_base_class_offset(lv, (E27x3*), 0, "G27x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G27x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x3y6.ff");
+ test_class_info(&lv, &cd_G27x3y6);
+ dp->~G27x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y6(Test_G27x3y6, "G27x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y6C1Ev();
+extern void _ZN7G27x3y6D1Ev();
+Name_Map name_map_G27x3y6[] = {
+ NSPAIR(_ZN7G27x3y6C1Ev),
+ NSPAIR(_ZN7G27x3y6D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //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
+ 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_C27, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G27x3y6[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y6[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y6[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y6[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y6[] = {
+ {&(_ZTV7G27x3y6[7]), 7,21},
+ {&(_tg__ZTV5E27x3__7G27x3y6[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y6[3]), 3,4},
+ {&(_ZTV7G27x3y6[12]), 12,21},
+ {&(_ZTV7G27x3y6[16]), 16,21},
+ {&(_ZTV7G27x3y6[20]), 20,21},
+ {&(_tg__ZTV3C27__7G27x3y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y6[];
+extern VTBL_ENTRY _ZTV7G27x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y6[];
+static VTBL_ENTRY alt_thunk_names222[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y6 = { "G27x3y6", // class name
+ bases_G27x3y6, 6,
+ &(vtc_G27x3y6[0]), // expected_vtbl_contents
+ &(vtt_G27x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y6),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y6),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names222,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x3y7 : virtual E27x3 , virtual F0 {
+ int ff;
+ ~G27x3y7(); // tgen
+ G27x3y7(); // tgen
+};
+//SIG(1 G27x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x3y7 ::~G27x3y7(){ note_dtor("G27x3y7", this);} // tgen
+G27x3y7 ::G27x3y7(){ note_ctor("G27x3y7", this);} // tgen
+
+static void Test_G27x3y7()
+{
+ extern Class_Descriptor cd_G27x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x3y7, buf);
+ G27x3y7 *dp, &lv = *(dp=new (buf) G27x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x3y7)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,24), "G27x3y7");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,32), "G27x3y7");
+ check_base_class_offset(lv, (C27*)(E27x3*), ABISELECT(32,16), "G27x3y7");
+ check_base_class_offset(lv, (D1*)(E27x3*), ABISELECT(64,36), "G27x3y7");
+ check_base_class_offset(lv, (E27x3*), ABISELECT(16,8), "G27x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G27x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x3y7.ff");
+ test_class_info(&lv, &cd_G27x3y7);
+ dp->~G27x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x3y7(Test_G27x3y7, "G27x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x3y7C1Ev();
+extern void _ZN7G27x3y7D1Ev();
+Name_Map name_map_G27x3y7[] = {
+ NSPAIR(_ZN7G27x3y7C1Ev),
+ NSPAIR(_ZN7G27x3y7D1Ev),
+ {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_C27;
+extern VTBL_ENTRY _ZTI3C27[];
+extern VTBL_ENTRY _ZTV3C27[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C27[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E27x3;
+extern VTBL_ENTRY _ZTI5E27x3[];
+extern VTBL_ENTRY _ZTV5E27x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 20, //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(60,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_C27, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G27x3y7[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G27x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x3y7[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x3y7[];
+static VTBL_ENTRY _tg__ZTV5E27x3__7G27x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x3__7G27x3y7[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E27x3__7G27x3y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E27x3__7G27x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x3y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C27__7G27x3y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x3y7[] = {
+ {&(_ZTV7G27x3y7[8]), 8,28},
+ {&(_ZTV7G27x3y7[14]), 14,28},
+ {&(_ZTV7G27x3y7[19]), 19,28},
+ {&(_ZTV7G27x3y7[23]), 23,28},
+ {&(_ZTV7G27x3y7[27]), 27,28},
+ {&(_tg__ZTV5E27x3__7G27x3y7[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x3__7G27x3y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x3__7G27x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E27x3__7G27x3y7[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x3y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x3y7[];
+extern VTBL_ENTRY _ZTV7G27x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x3y7[];
+static VTBL_ENTRY alt_thunk_names223[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C273fooEv,_ZThn8_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G27x3y7 = { "G27x3y7", // class name
+ bases_G27x3y7, 6,
+ &(vtc_G27x3y7[0]), // expected_vtbl_contents
+ &(vtt_G27x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x3y7),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x3y7),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names223,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x3 : virtual C28 , virtual D1 {
+ int fd;
+ ~E28x3(); // tgen
+ E28x3(); // tgen
+};
+//SIG(-1 E28x3) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E28x3 ::~E28x3(){ note_dtor("E28x3", this);} // tgen
+E28x3 ::E28x3(){ note_ctor("E28x3", this);} // tgen
+
+static void Test_E28x3()
+{
+ extern Class_Descriptor cd_E28x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E28x3, buf);
+ E28x3 *dp, &lv = *(dp=new (buf) E28x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E28x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x3)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,12), "E28x3");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,20), "E28x3");
+ check_base_class_offset(lv, (C28*), ABISELECT(16,8), "E28x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E28x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E28x3.fd");
+ test_class_info(&lv, &cd_E28x3);
+ dp->~E28x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x3(Test_E28x3, "E28x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E28x3C1Ev();
+extern void _ZN5E28x3D1Ev();
+Name_Map name_map_E28x3[] = {
+ NSPAIR(_ZN5E28x3C1Ev),
+ NSPAIR(_ZN5E28x3D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E28x3[] = {
+ // 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(32,20), //bcp->offset
+ 10, //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_C28, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E28x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__5E28x3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x3[] = {
+ {&(_ZTV5E28x3[5]), 5,18},
+ {&(_ZTV5E28x3[9]), 9,18},
+ {&(_ZTV5E28x3[13]), 13,18},
+ {&(_ZTV5E28x3[17]), 17,18},
+ {&(_tg__ZTV3C28__5E28x3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+static VTBL_ENTRY alt_thunk_names224[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E28x3 = { "E28x3", // class name
+ bases_E28x3, 4,
+ &(vtc_E28x3[0]), // expected_vtbl_contents
+ &(vtt_E28x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E28x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x3),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names224,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y0 : E28x3 , F1 {
+ int ff;
+ ~G28x3y0(); // tgen
+ G28x3y0(); // tgen
+};
+//SIG(1 G28x3y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x3y0 ::~G28x3y0(){ note_dtor("G28x3y0", this);} // tgen
+G28x3y0 ::G28x3y0(){ note_ctor("G28x3y0", this);} // tgen
+
+static void Test_G28x3y0()
+{
+ extern Class_Descriptor cd_G28x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x3y0, buf);
+ G28x3y0 *dp, &lv = *(dp=new (buf) G28x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y0)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x3y0");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x3y0");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(32,20), "G28x3y0");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(64,40), "G28x3y0");
+ check_base_class_offset(lv, (E28x3*), 0, "G28x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G28x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G28x3y0.ff");
+ test_class_info(&lv, &cd_G28x3y0);
+ dp->~G28x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y0(Test_G28x3y0, "G28x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y0C1Ev();
+extern void _ZN7G28x3y0D1Ev();
+Name_Map name_map_G28x3y0[] = {
+ NSPAIR(_ZN7G28x3y0C1Ev),
+ NSPAIR(_ZN7G28x3y0D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y0[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y0[] = {
+ {&(_ZTV7G28x3y0[5]), 5,21},
+ {&(_tg__ZTV5E28x3__7G28x3y0[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y0[3]), 3,4},
+ {&(_ZTV7G28x3y0[12]), 12,21},
+ {&(_ZTV7G28x3y0[16]), 16,21},
+ {&(_ZTV7G28x3y0[20]), 20,21},
+ {&(_tg__ZTV3C28__7G28x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y0[];
+extern VTBL_ENTRY _ZTV7G28x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y0[];
+static VTBL_ENTRY alt_thunk_names225[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y0 = { "G28x3y0", // class name
+ bases_G28x3y0, 6,
+ &(vtc_G28x3y0[0]), // expected_vtbl_contents
+ &(vtt_G28x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y0),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names225,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y1 : virtual E28x3 , F1 {
+ int ff;
+ ~G28x3y1(); // tgen
+ G28x3y1(); // tgen
+};
+//SIG(1 G28x3y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G28x3y1 ::~G28x3y1(){ note_dtor("G28x3y1", this);} // tgen
+G28x3y1 ::G28x3y1(){ note_ctor("G28x3y1", this);} // tgen
+
+static void Test_G28x3y1()
+{
+ extern Class_Descriptor cd_G28x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x3y1, buf);
+ G28x3y1 *dp, &lv = *(dp=new (buf) G28x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y1)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x3y1");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x3y1");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(32,20), "G28x3y1");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(64,40), "G28x3y1");
+ check_base_class_offset(lv, (E28x3*), ABISELECT(16,12), "G28x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x3y1.ff");
+ test_class_info(&lv, &cd_G28x3y1);
+ dp->~G28x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y1(Test_G28x3y1, "G28x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y1C1Ev();
+extern void _ZN7G28x3y1D1Ev();
+Name_Map name_map_G28x3y1[] = {
+ NSPAIR(_ZN7G28x3y1C1Ev),
+ NSPAIR(_ZN7G28x3y1D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C28, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, ABISELECT(16,12), //bcp->offset
+ 7, //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, 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 _ZTI7G28x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y1[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y1[] = {
+ {&(_ZTV7G28x3y1[6]), 6,25},
+ {&(_ZTV7G28x3y1[12]), 12,25},
+ {&(_ZTV7G28x3y1[16]), 16,25},
+ {&(_ZTV7G28x3y1[20]), 20,25},
+ {&(_ZTV7G28x3y1[24]), 24,25},
+ {&(_tg__ZTV5E28x3__7G28x3y1[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y1[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y1[];
+extern VTBL_ENTRY _ZTV7G28x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y1[];
+static VTBL_ENTRY alt_thunk_names226[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y1 = { "G28x3y1", // class name
+ bases_G28x3y1, 6,
+ &(vtc_G28x3y1[0]), // expected_vtbl_contents
+ &(vtt_G28x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y1),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names226,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y2 : E28x3 , virtual F1 {
+ int ff;
+ ~G28x3y2(); // tgen
+ G28x3y2(); // tgen
+};
+//SIG(1 G28x3y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x3y2 ::~G28x3y2(){ note_dtor("G28x3y2", this);} // tgen
+G28x3y2 ::G28x3y2(){ note_ctor("G28x3y2", this);} // tgen
+
+static void Test_G28x3y2()
+{
+ extern Class_Descriptor cd_G28x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x3y2, buf);
+ G28x3y2 *dp, &lv = *(dp=new (buf) G28x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y2)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "G28x3y2");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "G28x3y2");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(16,12), "G28x3y2");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(48,32), "G28x3y2");
+ check_base_class_offset(lv, (E28x3*), 0, "G28x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G28x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x3y2.ff");
+ test_class_info(&lv, &cd_G28x3y2);
+ dp->~G28x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y2(Test_G28x3y2, "G28x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y2C1Ev();
+extern void _ZN7G28x3y2D1Ev();
+Name_Map name_map_G28x3y2[] = {
+ NSPAIR(_ZN7G28x3y2C1Ev),
+ NSPAIR(_ZN7G28x3y2D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x3y2[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x3y2[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y2[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y2[] = {
+ {&(_ZTV7G28x3y2[6]), 6,23},
+ {&(_tg__ZTV5E28x3__7G28x3y2[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y2[3]), 3,4},
+ {&(_ZTV7G28x3y2[10]), 10,23},
+ {&(_ZTV7G28x3y2[14]), 14,23},
+ {&(_ZTV7G28x3y2[18]), 18,23},
+ {&(_ZTV7G28x3y2[22]), 22,23},
+ {&(_tg__ZTV3C28__7G28x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y2[];
+extern VTBL_ENTRY _ZTV7G28x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y2[];
+static VTBL_ENTRY alt_thunk_names227[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y2 = { "G28x3y2", // class name
+ bases_G28x3y2, 6,
+ &(vtc_G28x3y2[0]), // expected_vtbl_contents
+ &(vtt_G28x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y2),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names227,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y3 : virtual E28x3 , virtual F1 {
+ int ff;
+ ~G28x3y3(); // tgen
+ G28x3y3(); // tgen
+};
+//SIG(1 G28x3y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G28x3y3 ::~G28x3y3(){ note_dtor("G28x3y3", this);} // tgen
+G28x3y3 ::G28x3y3(){ note_ctor("G28x3y3", this);} // tgen
+
+static void Test_G28x3y3()
+{
+ extern Class_Descriptor cd_G28x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G28x3y3, buf);
+ G28x3y3 *dp, &lv = *(dp=new (buf) G28x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G28x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y3)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,20), "G28x3y3");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,28), "G28x3y3");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(32,16), "G28x3y3");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(64,36), "G28x3y3");
+ check_base_class_offset(lv, (E28x3*), ABISELECT(16,8), "G28x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G28x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x3y3.ff");
+ test_class_info(&lv, &cd_G28x3y3);
+ dp->~G28x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y3(Test_G28x3y3, "G28x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y3C1Ev();
+extern void _ZN7G28x3y3D1Ev();
+Name_Map name_map_G28x3y3[] = {
+ NSPAIR(_ZN7G28x3y3C1Ev),
+ NSPAIR(_ZN7G28x3y3D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(48,28), //bcp->offset
+ 17, //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_C28, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x3y3[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G28x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y3[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y3[] = {
+ {&(_ZTV7G28x3y3[7]), 7,29},
+ {&(_ZTV7G28x3y3[12]), 12,29},
+ {&(_ZTV7G28x3y3[16]), 16,29},
+ {&(_ZTV7G28x3y3[20]), 20,29},
+ {&(_ZTV7G28x3y3[24]), 24,29},
+ {&(_ZTV7G28x3y3[28]), 28,29},
+ {&(_tg__ZTV5E28x3__7G28x3y3[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y3[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y3[];
+extern VTBL_ENTRY _ZTV7G28x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y3[];
+static VTBL_ENTRY alt_thunk_names228[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y3 = { "G28x3y3", // class name
+ bases_G28x3y3, 6,
+ &(vtc_G28x3y3[0]), // expected_vtbl_contents
+ &(vtt_G28x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G28x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y3),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names228,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y4 : E28x3 , F0 {
+ int ff;
+ ~G28x3y4(); // tgen
+ G28x3y4(); // tgen
+};
+//SIG(1 G28x3y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x3y4 ::~G28x3y4(){ note_dtor("G28x3y4", this);} // tgen
+G28x3y4 ::G28x3y4(){ note_ctor("G28x3y4", this);} // tgen
+
+static void Test_G28x3y4()
+{
+ extern Class_Descriptor cd_G28x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x3y4, buf);
+ G28x3y4 *dp, &lv = *(dp=new (buf) G28x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y4)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x3y4");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x3y4");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(24,16), "G28x3y4");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(56,36), "G28x3y4");
+ check_base_class_offset(lv, (E28x3*), 0, "G28x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G28x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x3y4.ff");
+ test_class_info(&lv, &cd_G28x3y4);
+ dp->~G28x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y4(Test_G28x3y4, "G28x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y4C1Ev();
+extern void _ZN7G28x3y4D1Ev();
+Name_Map name_map_G28x3y4[] = {
+ NSPAIR(_ZN7G28x3y4C1Ev),
+ NSPAIR(_ZN7G28x3y4D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x3y4[] = {
+ // 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, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G28x3y4[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y4[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y4[] = {
+ {&(_ZTV7G28x3y4[5]), 5,18},
+ {&(_tg__ZTV5E28x3__7G28x3y4[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y4[3]), 3,4},
+ {&(_ZTV7G28x3y4[9]), 9,18},
+ {&(_ZTV7G28x3y4[13]), 13,18},
+ {&(_ZTV7G28x3y4[17]), 17,18},
+ {&(_tg__ZTV3C28__7G28x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y4[];
+extern VTBL_ENTRY _ZTV7G28x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y4[];
+static VTBL_ENTRY alt_thunk_names229[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y4 = { "G28x3y4", // class name
+ bases_G28x3y4, 6,
+ &(vtc_G28x3y4[0]), // expected_vtbl_contents
+ &(vtt_G28x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y4),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names229,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y5 : virtual E28x3 , F0 {
+ int ff;
+ ~G28x3y5(); // tgen
+ G28x3y5(); // tgen
+};
+//SIG(1 G28x3y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x3y5 ::~G28x3y5(){ note_dtor("G28x3y5", this);} // tgen
+G28x3y5 ::G28x3y5(){ note_ctor("G28x3y5", this);} // tgen
+
+static void Test_G28x3y5()
+{
+ extern Class_Descriptor cd_G28x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x3y5, buf);
+ G28x3y5 *dp, &lv = *(dp=new (buf) G28x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y5)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x3y5");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x3y5");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(32,20), "G28x3y5");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(64,40), "G28x3y5");
+ check_base_class_offset(lv, (E28x3*), ABISELECT(16,12), "G28x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x3y5.ff");
+ test_class_info(&lv, &cd_G28x3y5);
+ dp->~G28x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y5(Test_G28x3y5, "G28x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y5C1Ev();
+extern void _ZN7G28x3y5D1Ev();
+Name_Map name_map_G28x3y5[] = {
+ NSPAIR(_ZN7G28x3y5C1Ev),
+ NSPAIR(_ZN7G28x3y5D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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_B1, ABISELECT(48,32), //bcp->offset
+ 16, //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_C28, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, 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
+ 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 _ZTI7G28x3y5[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y5[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y5[] = {
+ {&(_ZTV7G28x3y5[6]), 6,24},
+ {&(_ZTV7G28x3y5[11]), 11,24},
+ {&(_ZTV7G28x3y5[15]), 15,24},
+ {&(_ZTV7G28x3y5[19]), 19,24},
+ {&(_ZTV7G28x3y5[23]), 23,24},
+ {&(_tg__ZTV5E28x3__7G28x3y5[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y5[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y5[];
+extern VTBL_ENTRY _ZTV7G28x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y5[];
+static VTBL_ENTRY alt_thunk_names230[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y5 = { "G28x3y5", // class name
+ bases_G28x3y5, 6,
+ &(vtc_G28x3y5[0]), // expected_vtbl_contents
+ &(vtt_G28x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y5),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names230,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y6 : E28x3 , virtual F0 {
+ int ff;
+ ~G28x3y6(); // tgen
+ G28x3y6(); // tgen
+};
+//SIG(1 G28x3y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x3y6 ::~G28x3y6(){ note_dtor("G28x3y6", this);} // tgen
+G28x3y6 ::G28x3y6(){ note_ctor("G28x3y6", this);} // tgen
+
+static void Test_G28x3y6()
+{
+ extern Class_Descriptor cd_G28x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x3y6, buf);
+ G28x3y6 *dp, &lv = *(dp=new (buf) G28x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y6)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "G28x3y6");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "G28x3y6");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(16,12), "G28x3y6");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(48,32), "G28x3y6");
+ check_base_class_offset(lv, (E28x3*), 0, "G28x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G28x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x3y6.ff");
+ test_class_info(&lv, &cd_G28x3y6);
+ dp->~G28x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y6(Test_G28x3y6, "G28x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y6C1Ev();
+extern void _ZN7G28x3y6D1Ev();
+Name_Map name_map_G28x3y6[] = {
+ NSPAIR(_ZN7G28x3y6C1Ev),
+ NSPAIR(_ZN7G28x3y6D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x3y6[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C28, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G28x3y6[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y6[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y6[] = {
+ {&(_ZTV7G28x3y6[6]), 6,19},
+ {&(_tg__ZTV5E28x3__7G28x3y6[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y6[3]), 3,4},
+ {&(_ZTV7G28x3y6[10]), 10,19},
+ {&(_ZTV7G28x3y6[14]), 14,19},
+ {&(_ZTV7G28x3y6[18]), 18,19},
+ {&(_tg__ZTV3C28__7G28x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y6[];
+extern VTBL_ENTRY _ZTV7G28x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y6[];
+static VTBL_ENTRY alt_thunk_names231[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y6 = { "G28x3y6", // class name
+ bases_G28x3y6, 6,
+ &(vtc_G28x3y6[0]), // expected_vtbl_contents
+ &(vtt_G28x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y6),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names231,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x3y7 : virtual E28x3 , virtual F0 {
+ int ff;
+ ~G28x3y7(); // tgen
+ G28x3y7(); // tgen
+};
+//SIG(1 G28x3y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x3y7 ::~G28x3y7(){ note_dtor("G28x3y7", this);} // tgen
+G28x3y7 ::G28x3y7(){ note_ctor("G28x3y7", this);} // tgen
+
+static void Test_G28x3y7()
+{
+ extern Class_Descriptor cd_G28x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x3y7, buf);
+ G28x3y7 *dp, &lv = *(dp=new (buf) G28x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x3y7)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,20), "G28x3y7");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,28), "G28x3y7");
+ check_base_class_offset(lv, (C28*)(E28x3*), ABISELECT(32,16), "G28x3y7");
+ check_base_class_offset(lv, (D1*)(E28x3*), ABISELECT(64,36), "G28x3y7");
+ check_base_class_offset(lv, (E28x3*), ABISELECT(16,8), "G28x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G28x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x3y7.ff");
+ test_class_info(&lv, &cd_G28x3y7);
+ dp->~G28x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x3y7(Test_G28x3y7, "G28x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x3y7C1Ev();
+extern void _ZN7G28x3y7D1Ev();
+Name_Map name_map_G28x3y7[] = {
+ NSPAIR(_ZN7G28x3y7C1Ev),
+ NSPAIR(_ZN7G28x3y7D1Ev),
+ {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_C28;
+extern VTBL_ENTRY _ZTI3C28[];
+extern VTBL_ENTRY _ZTV3C28[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C28[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E28x3;
+extern VTBL_ENTRY _ZTI5E28x3[];
+extern VTBL_ENTRY _ZTV5E28x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(40,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(48,28), //bcp->offset
+ 17, //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_C28, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G28x3y7[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G28x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x3y7[];
+static VTBL_ENTRY _tg__ZTV5E28x3__7G28x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x3__7G28x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x3__7G28x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E28x3__7G28x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C28__7G28x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x3y7[] = {
+ {&(_ZTV7G28x3y7[7]), 7,25},
+ {&(_ZTV7G28x3y7[12]), 12,25},
+ {&(_ZTV7G28x3y7[16]), 16,25},
+ {&(_ZTV7G28x3y7[20]), 20,25},
+ {&(_ZTV7G28x3y7[24]), 24,25},
+ {&(_tg__ZTV5E28x3__7G28x3y7[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x3__7G28x3y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x3__7G28x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E28x3__7G28x3y7[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x3y7[];
+extern VTBL_ENTRY _ZTV7G28x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x3y7[];
+static VTBL_ENTRY alt_thunk_names232[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C283fooEv,_ZThn12_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x3y7 = { "G28x3y7", // class name
+ bases_G28x3y7, 6,
+ &(vtc_G28x3y7[0]), // expected_vtbl_contents
+ &(vtt_G28x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x3y7),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names232,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x3 : virtual C29 , virtual D1 {
+ int fd;
+ ~E29x3(); // tgen
+ E29x3(); // tgen
+};
+//SIG(-1 E29x3) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E29x3 ::~E29x3(){ note_dtor("E29x3", this);} // tgen
+E29x3 ::E29x3(){ note_ctor("E29x3", this);} // tgen
+
+static void Test_E29x3()
+{
+ extern Class_Descriptor cd_E29x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E29x3, buf);
+ E29x3 *dp, &lv = *(dp=new (buf) E29x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E29x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x3)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,8), "E29x3");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,20), "E29x3");
+ check_base_class_offset(lv, (C29*), ABISELECT(16,8), "E29x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E29x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E29x3.fd");
+ test_class_info(&lv, &cd_E29x3);
+ dp->~E29x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x3(Test_E29x3, "E29x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E29x3C1Ev();
+extern void _ZN5E29x3D1Ev();
+Name_Map name_map_E29x3[] = {
+ NSPAIR(_ZN5E29x3C1Ev),
+ NSPAIR(_ZN5E29x3D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E29x3[] = {
+ // 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(32,20), //bcp->offset
+ 10, //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_C29, 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_D1, ABISELECT(48,28), //bcp->offset
+ 14, //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 _ZTI5E29x3[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E29x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__5E29x3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x3[] = {
+ {&(_ZTV5E29x3[5]), 5,18},
+ {&(_ZTV5E29x3[9]), 9,18},
+ {&(_ZTV5E29x3[13]), 13,18},
+ {&(_ZTV5E29x3[17]), 17,18},
+ {&(_tg__ZTV3C29__5E29x3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+static VTBL_ENTRY alt_thunk_names233[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E29x3 = { "E29x3", // class name
+ bases_E29x3, 4,
+ &(vtc_E29x3[0]), // expected_vtbl_contents
+ &(vtt_E29x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E29x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x3),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names233,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y0 : E29x3 , F1 {
+ int ff;
+ ~G29x3y0(); // tgen
+ G29x3y0(); // tgen
+};
+//SIG(1 G29x3y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x3y0 ::~G29x3y0(){ note_dtor("G29x3y0", this);} // tgen
+G29x3y0 ::G29x3y0(){ note_ctor("G29x3y0", this);} // tgen
+
+static void Test_G29x3y0()
+{
+ extern Class_Descriptor cd_G29x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x3y0, buf);
+ G29x3y0 *dp, &lv = *(dp=new (buf) G29x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y0)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x3y0");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x3y0");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(32,20), "G29x3y0");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(64,40), "G29x3y0");
+ check_base_class_offset(lv, (E29x3*), 0, "G29x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G29x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G29x3y0.ff");
+ test_class_info(&lv, &cd_G29x3y0);
+ dp->~G29x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y0(Test_G29x3y0, "G29x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y0C1Ev();
+extern void _ZN7G29x3y0D1Ev();
+Name_Map name_map_G29x3y0[] = {
+ NSPAIR(_ZN7G29x3y0C1Ev),
+ NSPAIR(_ZN7G29x3y0D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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)
+ 7, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, ABISELECT(32,20), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 17, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y0[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y0[] = {
+ {&(_ZTV7G29x3y0[5]), 5,21},
+ {&(_tg__ZTV5E29x3__7G29x3y0[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y0[3]), 3,4},
+ {&(_ZTV7G29x3y0[12]), 12,21},
+ {&(_ZTV7G29x3y0[16]), 16,21},
+ {&(_ZTV7G29x3y0[20]), 20,21},
+ {&(_tg__ZTV3C29__7G29x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y0[];
+extern VTBL_ENTRY _ZTV7G29x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y0[];
+static VTBL_ENTRY alt_thunk_names234[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y0 = { "G29x3y0", // class name
+ bases_G29x3y0, 6,
+ &(vtc_G29x3y0[0]), // expected_vtbl_contents
+ &(vtt_G29x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y0),21, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y0),10, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names234,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y1 : virtual E29x3 , F1 {
+ int ff;
+ ~G29x3y1(); // tgen
+ G29x3y1(); // tgen
+};
+//SIG(1 G29x3y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G29x3y1 ::~G29x3y1(){ note_dtor("G29x3y1", this);} // tgen
+G29x3y1 ::G29x3y1(){ note_ctor("G29x3y1", this);} // tgen
+
+static void Test_G29x3y1()
+{
+ extern Class_Descriptor cd_G29x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x3y1, buf);
+ G29x3y1 *dp, &lv = *(dp=new (buf) G29x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y1)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x3y1");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x3y1");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(32,20), "G29x3y1");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(64,40), "G29x3y1");
+ check_base_class_offset(lv, (E29x3*), ABISELECT(16,12), "G29x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x3y1.ff");
+ test_class_info(&lv, &cd_G29x3y1);
+ dp->~G29x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y1(Test_G29x3y1, "G29x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y1C1Ev();
+extern void _ZN7G29x3y1D1Ev();
+Name_Map name_map_G29x3y1[] = {
+ NSPAIR(_ZN7G29x3y1C1Ev),
+ NSPAIR(_ZN7G29x3y1D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 17, //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_C29, ABISELECT(32,20), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, ABISELECT(16,12), //bcp->offset
+ 7, //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 _ZTI7G29x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y1[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y1[] = {
+ {&(_ZTV7G29x3y1[6]), 6,25},
+ {&(_ZTV7G29x3y1[12]), 12,25},
+ {&(_ZTV7G29x3y1[16]), 16,25},
+ {&(_ZTV7G29x3y1[20]), 20,25},
+ {&(_ZTV7G29x3y1[24]), 24,25},
+ {&(_tg__ZTV5E29x3__7G29x3y1[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y1[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y1[];
+extern VTBL_ENTRY _ZTV7G29x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y1[];
+static VTBL_ENTRY alt_thunk_names235[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y1 = { "G29x3y1", // class name
+ bases_G29x3y1, 6,
+ &(vtc_G29x3y1[0]), // expected_vtbl_contents
+ &(vtt_G29x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y1),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y1),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names235,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y2 : E29x3 , virtual F1 {
+ int ff;
+ ~G29x3y2(); // tgen
+ G29x3y2(); // tgen
+};
+//SIG(1 G29x3y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x3y2 ::~G29x3y2(){ note_dtor("G29x3y2", this);} // tgen
+G29x3y2 ::G29x3y2(){ note_ctor("G29x3y2", this);} // tgen
+
+static void Test_G29x3y2()
+{
+ extern Class_Descriptor cd_G29x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x3y2, buf);
+ G29x3y2 *dp, &lv = *(dp=new (buf) G29x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y2)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "G29x3y2");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "G29x3y2");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(16,12), "G29x3y2");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(48,32), "G29x3y2");
+ check_base_class_offset(lv, (E29x3*), 0, "G29x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G29x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x3y2.ff");
+ test_class_info(&lv, &cd_G29x3y2);
+ dp->~G29x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y2(Test_G29x3y2, "G29x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y2C1Ev();
+extern void _ZN7G29x3y2D1Ev();
+Name_Map name_map_G29x3y2[] = {
+ NSPAIR(_ZN7G29x3y2C1Ev),
+ NSPAIR(_ZN7G29x3y2D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x3y2[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(64,40), //bcp->offset
+ 19, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x3y2[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y2[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y2[] = {
+ {&(_ZTV7G29x3y2[6]), 6,23},
+ {&(_tg__ZTV5E29x3__7G29x3y2[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y2[3]), 3,4},
+ {&(_ZTV7G29x3y2[10]), 10,23},
+ {&(_ZTV7G29x3y2[14]), 14,23},
+ {&(_ZTV7G29x3y2[18]), 18,23},
+ {&(_ZTV7G29x3y2[22]), 22,23},
+ {&(_tg__ZTV3C29__7G29x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y2[];
+extern VTBL_ENTRY _ZTV7G29x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y2[];
+static VTBL_ENTRY alt_thunk_names236[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y2 = { "G29x3y2", // class name
+ bases_G29x3y2, 6,
+ &(vtc_G29x3y2[0]), // expected_vtbl_contents
+ &(vtt_G29x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y2),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y2),11, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names236,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y3 : virtual E29x3 , virtual F1 {
+ int ff;
+ ~G29x3y3(); // tgen
+ G29x3y3(); // tgen
+};
+//SIG(1 G29x3y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G29x3y3 ::~G29x3y3(){ note_dtor("G29x3y3", this);} // tgen
+G29x3y3 ::G29x3y3(){ note_ctor("G29x3y3", this);} // tgen
+
+static void Test_G29x3y3()
+{
+ extern Class_Descriptor cd_G29x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G29x3y3, buf);
+ G29x3y3 *dp, &lv = *(dp=new (buf) G29x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G29x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y3)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,16), "G29x3y3");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,28), "G29x3y3");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(32,16), "G29x3y3");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(64,36), "G29x3y3");
+ check_base_class_offset(lv, (E29x3*), ABISELECT(16,8), "G29x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G29x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x3y3.ff");
+ test_class_info(&lv, &cd_G29x3y3);
+ dp->~G29x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y3(Test_G29x3y3, "G29x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y3C1Ev();
+extern void _ZN7G29x3y3D1Ev();
+Name_Map name_map_G29x3y3[] = {
+ NSPAIR(_ZN7G29x3y3C1Ev),
+ NSPAIR(_ZN7G29x3y3D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,28), //bcp->offset
+ 17, //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_C29, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, ABISELECT(16,8), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 25, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x3y3[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G29x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y3[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y3[] = {
+ {&(_ZTV7G29x3y3[7]), 7,29},
+ {&(_ZTV7G29x3y3[12]), 12,29},
+ {&(_ZTV7G29x3y3[16]), 16,29},
+ {&(_ZTV7G29x3y3[20]), 20,29},
+ {&(_ZTV7G29x3y3[24]), 24,29},
+ {&(_ZTV7G29x3y3[28]), 28,29},
+ {&(_tg__ZTV5E29x3__7G29x3y3[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y3[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y3[];
+extern VTBL_ENTRY _ZTV7G29x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y3[];
+static VTBL_ENTRY alt_thunk_names237[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y3 = { "G29x3y3", // class name
+ bases_G29x3y3, 6,
+ &(vtc_G29x3y3[0]), // expected_vtbl_contents
+ &(vtt_G29x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G29x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y3),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y3),12, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names237,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y4 : E29x3 , F0 {
+ int ff;
+ ~G29x3y4(); // tgen
+ G29x3y4(); // tgen
+};
+//SIG(1 G29x3y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x3y4 ::~G29x3y4(){ note_dtor("G29x3y4", this);} // tgen
+G29x3y4 ::G29x3y4(){ note_ctor("G29x3y4", this);} // tgen
+
+static void Test_G29x3y4()
+{
+ extern Class_Descriptor cd_G29x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x3y4, buf);
+ G29x3y4 *dp, &lv = *(dp=new (buf) G29x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y4)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x3y4");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x3y4");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(24,16), "G29x3y4");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(56,36), "G29x3y4");
+ check_base_class_offset(lv, (E29x3*), 0, "G29x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G29x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x3y4.ff");
+ test_class_info(&lv, &cd_G29x3y4);
+ dp->~G29x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y4(Test_G29x3y4, "G29x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y4C1Ev();
+extern void _ZN7G29x3y4D1Ev();
+Name_Map name_map_G29x3y4[] = {
+ NSPAIR(_ZN7G29x3y4C1Ev),
+ NSPAIR(_ZN7G29x3y4D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(40,28), //bcp->offset
+ 10, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, ABISELECT(24,16), //bcp->offset
+ 5, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 14, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G29x3y4[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y4[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y4[] = {
+ {&(_ZTV7G29x3y4[5]), 5,18},
+ {&(_tg__ZTV5E29x3__7G29x3y4[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y4[3]), 3,4},
+ {&(_ZTV7G29x3y4[9]), 9,18},
+ {&(_ZTV7G29x3y4[13]), 13,18},
+ {&(_ZTV7G29x3y4[17]), 17,18},
+ {&(_tg__ZTV3C29__7G29x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y4[];
+extern VTBL_ENTRY _ZTV7G29x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y4[];
+static VTBL_ENTRY alt_thunk_names238[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y4 = { "G29x3y4", // class name
+ bases_G29x3y4, 6,
+ &(vtc_G29x3y4[0]), // expected_vtbl_contents
+ &(vtt_G29x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y4),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y4),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names238,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y5 : virtual E29x3 , F0 {
+ int ff;
+ ~G29x3y5(); // tgen
+ G29x3y5(); // tgen
+};
+//SIG(1 G29x3y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x3y5 ::~G29x3y5(){ note_dtor("G29x3y5", this);} // tgen
+G29x3y5 ::G29x3y5(){ note_ctor("G29x3y5", this);} // tgen
+
+static void Test_G29x3y5()
+{
+ extern Class_Descriptor cd_G29x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x3y5, buf);
+ G29x3y5 *dp, &lv = *(dp=new (buf) G29x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y5)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x3y5");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x3y5");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(32,20), "G29x3y5");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(64,40), "G29x3y5");
+ check_base_class_offset(lv, (E29x3*), ABISELECT(16,12), "G29x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x3y5.ff");
+ test_class_info(&lv, &cd_G29x3y5);
+ dp->~G29x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y5(Test_G29x3y5, "G29x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y5C1Ev();
+extern void _ZN7G29x3y5D1Ev();
+Name_Map name_map_G29x3y5[] = {
+ NSPAIR(_ZN7G29x3y5C1Ev),
+ NSPAIR(_ZN7G29x3y5D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,32), //bcp->offset
+ 16, //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_C29, ABISELECT(32,20), //bcp->offset
+ 11, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 20, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, 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_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 _ZTI7G29x3y5[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y5[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y5[] = {
+ {&(_ZTV7G29x3y5[6]), 6,24},
+ {&(_ZTV7G29x3y5[11]), 11,24},
+ {&(_ZTV7G29x3y5[15]), 15,24},
+ {&(_ZTV7G29x3y5[19]), 19,24},
+ {&(_ZTV7G29x3y5[23]), 23,24},
+ {&(_tg__ZTV5E29x3__7G29x3y5[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y5[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y5[];
+extern VTBL_ENTRY _ZTV7G29x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y5[];
+static VTBL_ENTRY alt_thunk_names239[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y5 = { "G29x3y5", // class name
+ bases_G29x3y5, 6,
+ &(vtc_G29x3y5[0]), // expected_vtbl_contents
+ &(vtt_G29x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y5),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y5),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names239,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y6 : E29x3 , virtual F0 {
+ int ff;
+ ~G29x3y6(); // tgen
+ G29x3y6(); // tgen
+};
+//SIG(1 G29x3y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x3y6 ::~G29x3y6(){ note_dtor("G29x3y6", this);} // tgen
+G29x3y6 ::G29x3y6(){ note_ctor("G29x3y6", this);} // tgen
+
+static void Test_G29x3y6()
+{
+ extern Class_Descriptor cd_G29x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x3y6, buf);
+ G29x3y6 *dp, &lv = *(dp=new (buf) G29x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y6)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "G29x3y6");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "G29x3y6");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(16,12), "G29x3y6");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(48,32), "G29x3y6");
+ check_base_class_offset(lv, (E29x3*), 0, "G29x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G29x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x3y6.ff");
+ test_class_info(&lv, &cd_G29x3y6);
+ dp->~G29x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y6(Test_G29x3y6, "G29x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y6C1Ev();
+extern void _ZN7G29x3y6D1Ev();
+Name_Map name_map_G29x3y6[] = {
+ NSPAIR(_ZN7G29x3y6C1Ev),
+ NSPAIR(_ZN7G29x3y6D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x3y6[] = {
+ // 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(32,24), //bcp->offset
+ 11, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C29, ABISELECT(16,12), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 5, //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(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 _ZTI7G29x3y6[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y6[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y6[] = {
+ {&(_ZTV7G29x3y6[6]), 6,19},
+ {&(_tg__ZTV5E29x3__7G29x3y6[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y6[3]), 3,4},
+ {&(_ZTV7G29x3y6[10]), 10,19},
+ {&(_ZTV7G29x3y6[14]), 14,19},
+ {&(_ZTV7G29x3y6[18]), 18,19},
+ {&(_tg__ZTV3C29__7G29x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y6[];
+extern VTBL_ENTRY _ZTV7G29x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y6[];
+static VTBL_ENTRY alt_thunk_names240[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y6 = { "G29x3y6", // class name
+ bases_G29x3y6, 6,
+ &(vtc_G29x3y6[0]), // expected_vtbl_contents
+ &(vtt_G29x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y6),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y6),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names240,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x3y7 : virtual E29x3 , virtual F0 {
+ int ff;
+ ~G29x3y7(); // tgen
+ G29x3y7(); // tgen
+};
+//SIG(1 G29x3y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x3y7 ::~G29x3y7(){ note_dtor("G29x3y7", this);} // tgen
+G29x3y7 ::G29x3y7(){ note_ctor("G29x3y7", this);} // tgen
+
+static void Test_G29x3y7()
+{
+ extern Class_Descriptor cd_G29x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x3y7, buf);
+ G29x3y7 *dp, &lv = *(dp=new (buf) G29x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x3y7)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,16), "G29x3y7");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,28), "G29x3y7");
+ check_base_class_offset(lv, (C29*)(E29x3*), ABISELECT(32,16), "G29x3y7");
+ check_base_class_offset(lv, (D1*)(E29x3*), ABISELECT(64,36), "G29x3y7");
+ check_base_class_offset(lv, (E29x3*), ABISELECT(16,8), "G29x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G29x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x3y7.ff");
+ test_class_info(&lv, &cd_G29x3y7);
+ dp->~G29x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x3y7(Test_G29x3y7, "G29x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x3y7C1Ev();
+extern void _ZN7G29x3y7D1Ev();
+Name_Map name_map_G29x3y7[] = {
+ NSPAIR(_ZN7G29x3y7C1Ev),
+ NSPAIR(_ZN7G29x3y7D1Ev),
+ {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_C29;
+extern VTBL_ENTRY _ZTI3C29[];
+extern VTBL_ENTRY _ZTV3C29[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C29[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E29x3;
+extern VTBL_ENTRY _ZTI5E29x3[];
+extern VTBL_ENTRY _ZTV5E29x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(48,28), //bcp->offset
+ 17, //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_C29, ABISELECT(32,16), //bcp->offset
+ 12, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x3, ABISELECT(16,8), //bcp->offset
+ 7, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G29x3y7[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G29x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x3y7[];
+static VTBL_ENTRY _tg__ZTV5E29x3__7G29x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x3__7G29x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x3__7G29x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E29x3__7G29x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x3y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C29__7G29x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x3y7[] = {
+ {&(_ZTV7G29x3y7[7]), 7,25},
+ {&(_ZTV7G29x3y7[12]), 12,25},
+ {&(_ZTV7G29x3y7[16]), 16,25},
+ {&(_ZTV7G29x3y7[20]), 20,25},
+ {&(_ZTV7G29x3y7[24]), 24,25},
+ {&(_tg__ZTV5E29x3__7G29x3y7[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x3__7G29x3y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x3__7G29x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E29x3__7G29x3y7[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x3y7[];
+extern VTBL_ENTRY _ZTV7G29x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x3y7[];
+static VTBL_ENTRY alt_thunk_names241[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C293fooEv,_ZThn12_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x3y7 = { "G29x3y7", // class name
+ bases_G29x3y7, 6,
+ &(vtc_G29x3y7[0]), // expected_vtbl_contents
+ &(vtt_G29x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x3y7),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x3y7),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names241,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x3 : virtual C30 , virtual D1 {
+ int fd;
+ ~E30x3(); // tgen
+ E30x3(); // tgen
+};
+//SIG(-1 E30x3) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E30x3 ::~E30x3(){ note_dtor("E30x3", this);} // tgen
+E30x3 ::E30x3(){ note_ctor("E30x3", this);} // tgen
+
+static void Test_E30x3()
+{
+ extern Class_Descriptor cd_E30x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E30x3, buf);
+ E30x3 *dp, &lv = *(dp=new (buf) E30x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E30x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x3)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,16), "E30x3");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,20), "E30x3");
+ check_base_class_offset(lv, (C30*), ABISELECT(16,8), "E30x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(48,28), "E30x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E30x3.fd");
+ test_class_info(&lv, &cd_E30x3);
+ dp->~E30x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x3(Test_E30x3, "E30x3", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E30x3C1Ev();
+extern void _ZN5E30x3D1Ev();
+Name_Map name_map_E30x3[] = {
+ NSPAIR(_ZN5E30x3C1Ev),
+ NSPAIR(_ZN5E30x3D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E30x3[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,20), //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_C30, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(48,28), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E30x3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__5E30x3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x3[] = {
+ {&(_ZTV5E30x3[6]), 6,20},
+ {&(_ZTV5E30x3[11]), 11,20},
+ {&(_ZTV5E30x3[15]), 15,20},
+ {&(_ZTV5E30x3[19]), 19,20},
+ {&(_tg__ZTV3C30__5E30x3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+static VTBL_ENTRY alt_thunk_names242[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E30x3 = { "E30x3", // class name
+ bases_E30x3, 4,
+ &(vtc_E30x3[0]), // expected_vtbl_contents
+ &(vtt_E30x3[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E30x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x3),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names242,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y0 : E30x3 , F1 {
+ int ff;
+ ~G30x3y0(); // tgen
+ G30x3y0(); // tgen
+};
+//SIG(1 G30x3y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x3y0 ::~G30x3y0(){ note_dtor("G30x3y0", this);} // tgen
+G30x3y0 ::G30x3y0(){ note_ctor("G30x3y0", this);} // tgen
+
+static void Test_G30x3y0()
+{
+ extern Class_Descriptor cd_G30x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x3y0, buf);
+ G30x3y0 *dp, &lv = *(dp=new (buf) G30x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y0)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x3y0");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x3y0");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(32,20), "G30x3y0");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(64,40), "G30x3y0");
+ check_base_class_offset(lv, (E30x3*), 0, "G30x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G30x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G30x3y0.ff");
+ test_class_info(&lv, &cd_G30x3y0);
+ dp->~G30x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y0(Test_G30x3y0, "G30x3y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y0C1Ev();
+extern void _ZN7G30x3y0D1Ev();
+Name_Map name_map_G30x3y0[] = {
+ NSPAIR(_ZN7G30x3y0C1Ev),
+ NSPAIR(_ZN7G30x3y0D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x3y0[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 15, //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 19, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x3y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y0[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y0[] = {
+ {&(_ZTV7G30x3y0[6]), 6,23},
+ {&(_tg__ZTV5E30x3__7G30x3y0[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y0[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y0[3]), 3,4},
+ {&(_ZTV7G30x3y0[14]), 14,23},
+ {&(_ZTV7G30x3y0[18]), 18,23},
+ {&(_ZTV7G30x3y0[22]), 22,23},
+ {&(_tg__ZTV3C30__7G30x3y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y0[];
+extern VTBL_ENTRY _ZTV7G30x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y0[];
+static VTBL_ENTRY alt_thunk_names243[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y0 = { "G30x3y0", // class name
+ bases_G30x3y0, 6,
+ &(vtc_G30x3y0[0]), // expected_vtbl_contents
+ &(vtt_G30x3y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y0),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y0),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names243,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y1 : virtual E30x3 , F1 {
+ int ff;
+ ~G30x3y1(); // tgen
+ G30x3y1(); // tgen
+};
+//SIG(1 G30x3y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G30x3y1 ::~G30x3y1(){ note_dtor("G30x3y1", this);} // tgen
+G30x3y1 ::G30x3y1(){ note_ctor("G30x3y1", this);} // tgen
+
+static void Test_G30x3y1()
+{
+ extern Class_Descriptor cd_G30x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x3y1, buf);
+ G30x3y1 *dp, &lv = *(dp=new (buf) G30x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y1)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x3y1");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x3y1");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(32,20), "G30x3y1");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(64,40), "G30x3y1");
+ check_base_class_offset(lv, (E30x3*), ABISELECT(16,12), "G30x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x3y1.ff");
+ test_class_info(&lv, &cd_G30x3y1);
+ dp->~G30x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y1(Test_G30x3y1, "G30x3y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y1C1Ev();
+extern void _ZN7G30x3y1D1Ev();
+Name_Map name_map_G30x3y1[] = {
+ NSPAIR(_ZN7G30x3y1C1Ev),
+ NSPAIR(_ZN7G30x3y1D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //bcp->offset
+ 20, //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_C30, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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, 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 _ZTI7G30x3y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x3y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y1[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y1[] = {
+ {&(_ZTV7G30x3y1[7]), 7,28},
+ {&(_ZTV7G30x3y1[14]), 14,28},
+ {&(_ZTV7G30x3y1[19]), 19,28},
+ {&(_ZTV7G30x3y1[23]), 23,28},
+ {&(_ZTV7G30x3y1[27]), 27,28},
+ {&(_tg__ZTV5E30x3__7G30x3y1[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y1[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y1[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x3y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y1[];
+extern VTBL_ENTRY _ZTV7G30x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y1[];
+static VTBL_ENTRY alt_thunk_names244[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y1 = { "G30x3y1", // class name
+ bases_G30x3y1, 6,
+ &(vtc_G30x3y1[0]), // expected_vtbl_contents
+ &(vtt_G30x3y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y1),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y1),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names244,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y2 : E30x3 , virtual F1 {
+ int ff;
+ ~G30x3y2(); // tgen
+ G30x3y2(); // tgen
+};
+//SIG(1 G30x3y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x3y2 ::~G30x3y2(){ note_dtor("G30x3y2", this);} // tgen
+G30x3y2 ::G30x3y2(){ note_ctor("G30x3y2", this);} // tgen
+
+static void Test_G30x3y2()
+{
+ extern Class_Descriptor cd_G30x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x3y2, buf);
+ G30x3y2 *dp, &lv = *(dp=new (buf) G30x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y2)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "G30x3y2");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "G30x3y2");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(16,12), "G30x3y2");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(48,32), "G30x3y2");
+ check_base_class_offset(lv, (E30x3*), 0, "G30x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G30x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x3y2.ff");
+ test_class_info(&lv, &cd_G30x3y2);
+ dp->~G30x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y2(Test_G30x3y2, "G30x3y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y2C1Ev();
+extern void _ZN7G30x3y2D1Ev();
+Name_Map name_map_G30x3y2[] = {
+ NSPAIR(_ZN7G30x3y2C1Ev),
+ NSPAIR(_ZN7G30x3y2D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x3y2[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(64,40), //bcp->offset
+ 21, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x3y2[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x3y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y2[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y2[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y2[] = {
+ {&(_ZTV7G30x3y2[7]), 7,25},
+ {&(_tg__ZTV5E30x3__7G30x3y2[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y2[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y2[3]), 3,4},
+ {&(_ZTV7G30x3y2[12]), 12,25},
+ {&(_ZTV7G30x3y2[16]), 16,25},
+ {&(_ZTV7G30x3y2[20]), 20,25},
+ {&(_ZTV7G30x3y2[24]), 24,25},
+ {&(_tg__ZTV3C30__7G30x3y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y2[];
+extern VTBL_ENTRY _ZTV7G30x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y2[];
+static VTBL_ENTRY alt_thunk_names245[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y2 = { "G30x3y2", // class name
+ bases_G30x3y2, 6,
+ &(vtc_G30x3y2[0]), // expected_vtbl_contents
+ &(vtt_G30x3y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y2),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y2),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names245,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y3 : virtual E30x3 , virtual F1 {
+ int ff;
+ ~G30x3y3(); // tgen
+ G30x3y3(); // tgen
+};
+//SIG(1 G30x3y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G30x3y3 ::~G30x3y3(){ note_dtor("G30x3y3", this);} // tgen
+G30x3y3 ::G30x3y3(){ note_ctor("G30x3y3", this);} // tgen
+
+static void Test_G30x3y3()
+{
+ extern Class_Descriptor cd_G30x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G30x3y3, buf);
+ G30x3y3 *dp, &lv = *(dp=new (buf) G30x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G30x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y3)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,24), "G30x3y3");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,28), "G30x3y3");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(32,16), "G30x3y3");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(64,36), "G30x3y3");
+ check_base_class_offset(lv, (E30x3*), ABISELECT(16,8), "G30x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G30x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x3y3.ff");
+ test_class_info(&lv, &cd_G30x3y3);
+ dp->~G30x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y3(Test_G30x3y3, "G30x3y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y3C1Ev();
+extern void _ZN7G30x3y3D1Ev();
+Name_Map name_map_G30x3y3[] = {
+ NSPAIR(_ZN7G30x3y3C1Ev),
+ NSPAIR(_ZN7G30x3y3D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(48,28), //bcp->offset
+ 20, //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_C30, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(80,44), //bcp->offset
+ 28, //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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x3y3[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x3y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G30x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y3[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y3[] = {
+ {&(_ZTV7G30x3y3[8]), 8,32},
+ {&(_ZTV7G30x3y3[14]), 14,32},
+ {&(_ZTV7G30x3y3[19]), 19,32},
+ {&(_ZTV7G30x3y3[23]), 23,32},
+ {&(_ZTV7G30x3y3[27]), 27,32},
+ {&(_ZTV7G30x3y3[31]), 31,32},
+ {&(_tg__ZTV5E30x3__7G30x3y3[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y3[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y3[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x3y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y3[];
+extern VTBL_ENTRY _ZTV7G30x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y3[];
+static VTBL_ENTRY alt_thunk_names246[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y3 = { "G30x3y3", // class name
+ bases_G30x3y3, 6,
+ &(vtc_G30x3y3[0]), // expected_vtbl_contents
+ &(vtt_G30x3y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G30x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y3),32, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y3),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names246,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y4 : E30x3 , F0 {
+ int ff;
+ ~G30x3y4(); // tgen
+ G30x3y4(); // tgen
+};
+//SIG(1 G30x3y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x3y4 ::~G30x3y4(){ note_dtor("G30x3y4", this);} // tgen
+G30x3y4 ::G30x3y4(){ note_ctor("G30x3y4", this);} // tgen
+
+static void Test_G30x3y4()
+{
+ extern Class_Descriptor cd_G30x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x3y4, buf);
+ G30x3y4 *dp, &lv = *(dp=new (buf) G30x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y4)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x3y4");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x3y4");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(24,16), "G30x3y4");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(56,36), "G30x3y4");
+ check_base_class_offset(lv, (E30x3*), 0, "G30x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G30x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x3y4.ff");
+ test_class_info(&lv, &cd_G30x3y4);
+ dp->~G30x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y4(Test_G30x3y4, "G30x3y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y4C1Ev();
+extern void _ZN7G30x3y4D1Ev();
+Name_Map name_map_G30x3y4[] = {
+ NSPAIR(_ZN7G30x3y4C1Ev),
+ NSPAIR(_ZN7G30x3y4D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x3y4[] = {
+ // 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
+ 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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(56,36), //bcp->offset
+ 16, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G30x3y4[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y4[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y4[] = {
+ {&(_ZTV7G30x3y4[6]), 6,20},
+ {&(_tg__ZTV5E30x3__7G30x3y4[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y4[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y4[3]), 3,4},
+ {&(_ZTV7G30x3y4[11]), 11,20},
+ {&(_ZTV7G30x3y4[15]), 15,20},
+ {&(_ZTV7G30x3y4[19]), 19,20},
+ {&(_tg__ZTV3C30__7G30x3y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y4[];
+extern VTBL_ENTRY _ZTV7G30x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y4[];
+static VTBL_ENTRY alt_thunk_names247[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y4 = { "G30x3y4", // class name
+ bases_G30x3y4, 6,
+ &(vtc_G30x3y4[0]), // expected_vtbl_contents
+ &(vtt_G30x3y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y4),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y4),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names247,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y5 : virtual E30x3 , F0 {
+ int ff;
+ ~G30x3y5(); // tgen
+ G30x3y5(); // tgen
+};
+//SIG(1 G30x3y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x3y5 ::~G30x3y5(){ note_dtor("G30x3y5", this);} // tgen
+G30x3y5 ::G30x3y5(){ note_ctor("G30x3y5", this);} // tgen
+
+static void Test_G30x3y5()
+{
+ extern Class_Descriptor cd_G30x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x3y5, buf);
+ G30x3y5 *dp, &lv = *(dp=new (buf) G30x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y5)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x3y5");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x3y5");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(32,20), "G30x3y5");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(64,40), "G30x3y5");
+ check_base_class_offset(lv, (E30x3*), ABISELECT(16,12), "G30x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x3y5.ff");
+ test_class_info(&lv, &cd_G30x3y5);
+ dp->~G30x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y5(Test_G30x3y5, "G30x3y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y5C1Ev();
+extern void _ZN7G30x3y5D1Ev();
+Name_Map name_map_G30x3y5[] = {
+ NSPAIR(_ZN7G30x3y5C1Ev),
+ NSPAIR(_ZN7G30x3y5D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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_B1, ABISELECT(48,32), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,40), //bcp->offset
+ 23, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //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_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 _ZTI7G30x3y5[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x3y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y5[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y5[] = {
+ {&(_ZTV7G30x3y5[7]), 7,27},
+ {&(_ZTV7G30x3y5[13]), 13,27},
+ {&(_ZTV7G30x3y5[18]), 18,27},
+ {&(_ZTV7G30x3y5[22]), 22,27},
+ {&(_ZTV7G30x3y5[26]), 26,27},
+ {&(_tg__ZTV5E30x3__7G30x3y5[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y5[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y5[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x3y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y5[];
+extern VTBL_ENTRY _ZTV7G30x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y5[];
+static VTBL_ENTRY alt_thunk_names248[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y5 = { "G30x3y5", // class name
+ bases_G30x3y5, 6,
+ &(vtc_G30x3y5[0]), // expected_vtbl_contents
+ &(vtt_G30x3y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y5),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y5),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names248,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y6 : E30x3 , virtual F0 {
+ int ff;
+ ~G30x3y6(); // tgen
+ G30x3y6(); // tgen
+};
+//SIG(1 G30x3y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x3y6 ::~G30x3y6(){ note_dtor("G30x3y6", this);} // tgen
+G30x3y6 ::G30x3y6(){ note_ctor("G30x3y6", this);} // tgen
+
+static void Test_G30x3y6()
+{
+ extern Class_Descriptor cd_G30x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x3y6, buf);
+ G30x3y6 *dp, &lv = *(dp=new (buf) G30x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y6)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "G30x3y6");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "G30x3y6");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(16,12), "G30x3y6");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(48,32), "G30x3y6");
+ check_base_class_offset(lv, (E30x3*), 0, "G30x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G30x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x3y6.ff");
+ test_class_info(&lv, &cd_G30x3y6);
+ dp->~G30x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y6(Test_G30x3y6, "G30x3y6", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y6C1Ev();
+extern void _ZN7G30x3y6D1Ev();
+Name_Map name_map_G30x3y6[] = {
+ NSPAIR(_ZN7G30x3y6C1Ev),
+ NSPAIR(_ZN7G30x3y6D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x3y6[] = {
+ // 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, 1},
+ {&cd_B1, ABISELECT(32,24), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C30, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(48,32), //bcp->offset
+ 17, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G30x3y6[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y6[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y6[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y6[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y6[] = {
+ {&(_ZTV7G30x3y6[7]), 7,21},
+ {&(_tg__ZTV5E30x3__7G30x3y6[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y6[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y6[3]), 3,4},
+ {&(_ZTV7G30x3y6[12]), 12,21},
+ {&(_ZTV7G30x3y6[16]), 16,21},
+ {&(_ZTV7G30x3y6[20]), 20,21},
+ {&(_tg__ZTV3C30__7G30x3y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y6[];
+extern VTBL_ENTRY _ZTV7G30x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y6[];
+static VTBL_ENTRY alt_thunk_names249[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y6 = { "G30x3y6", // class name
+ bases_G30x3y6, 6,
+ &(vtc_G30x3y6[0]), // expected_vtbl_contents
+ &(vtt_G30x3y6[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y6),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y6),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names249,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x3y7 : virtual E30x3 , virtual F0 {
+ int ff;
+ ~G30x3y7(); // tgen
+ G30x3y7(); // tgen
+};
+//SIG(1 G30x3y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x3y7 ::~G30x3y7(){ note_dtor("G30x3y7", this);} // tgen
+G30x3y7 ::G30x3y7(){ note_ctor("G30x3y7", this);} // tgen
+
+static void Test_G30x3y7()
+{
+ extern Class_Descriptor cd_G30x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x3y7, buf);
+ G30x3y7 *dp, &lv = *(dp=new (buf) G30x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x3y7)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,24), "G30x3y7");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,28), "G30x3y7");
+ check_base_class_offset(lv, (C30*)(E30x3*), ABISELECT(32,16), "G30x3y7");
+ check_base_class_offset(lv, (D1*)(E30x3*), ABISELECT(64,36), "G30x3y7");
+ check_base_class_offset(lv, (E30x3*), ABISELECT(16,8), "G30x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G30x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x3y7.ff");
+ test_class_info(&lv, &cd_G30x3y7);
+ dp->~G30x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x3y7(Test_G30x3y7, "G30x3y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x3y7C1Ev();
+extern void _ZN7G30x3y7D1Ev();
+Name_Map name_map_G30x3y7[] = {
+ NSPAIR(_ZN7G30x3y7C1Ev),
+ NSPAIR(_ZN7G30x3y7D1Ev),
+ {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_C30;
+extern VTBL_ENTRY _ZTI3C30[];
+extern VTBL_ENTRY _ZTV3C30[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C30[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E30x3;
+extern VTBL_ENTRY _ZTI5E30x3[];
+extern VTBL_ENTRY _ZTV5E30x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(44,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(48,28), //bcp->offset
+ 20, //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_C30, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //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_F0, ABISELECT(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G30x3y7[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G30x3y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x3y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x3y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x3y7[];
+static VTBL_ENTRY _tg__ZTV5E30x3__7G30x3y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x3__7G30x3y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x3__7G30x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E30x3__7G30x3y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x3y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C30__7G30x3y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x3y7[] = {
+ {&(_ZTV7G30x3y7[8]), 8,28},
+ {&(_ZTV7G30x3y7[14]), 14,28},
+ {&(_ZTV7G30x3y7[19]), 19,28},
+ {&(_ZTV7G30x3y7[23]), 23,28},
+ {&(_ZTV7G30x3y7[27]), 27,28},
+ {&(_tg__ZTV5E30x3__7G30x3y7[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x3__7G30x3y7[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x3__7G30x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E30x3__7G30x3y7[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x3y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x3y7[];
+extern VTBL_ENTRY _ZTV7G30x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x3y7[];
+static VTBL_ENTRY alt_thunk_names250[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C303fooEv,_ZThn12_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x3y7 = { "G30x3y7", // class name
+ bases_G30x3y7, 6,
+ &(vtc_G30x3y7[0]), // expected_vtbl_contents
+ &(vtt_G30x3y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x3y7),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x3y7),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names250,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x3 : virtual C31 , virtual D1 {
+ int fd;
+ ~E31x3(); // tgen
+ E31x3(); // tgen
+};
+//SIG(-1 E31x3) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ v2 Fi} Fi}
+
+
+E31x3 ::~E31x3(){ note_dtor("E31x3", this);} // tgen
+E31x3 ::E31x3(){ note_ctor("E31x3", this);} // tgen
+
+static void Test_E31x3()
+{
+ extern Class_Descriptor cd_E31x3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[11];
+ init_test(&cd_E31x3, buf);
+ E31x3 *dp, &lv = *(dp=new (buf) E31x3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,40), "sizeof(E31x3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x3)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,16), "E31x3");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,24), "E31x3");
+ check_base_class_offset(lv, (C31*), ABISELECT(16,8), "E31x3");
+ check_base_class_offset(lv, (D1*), ABISELECT(64,32), "E31x3");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E31x3.fd");
+ test_class_info(&lv, &cd_E31x3);
+ dp->~E31x3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x3(Test_E31x3, "E31x3", ABISELECT(80,40));
+
+#else // __cplusplus
+
+extern void _ZN5E31x3C1Ev();
+extern void _ZN5E31x3D1Ev();
+Name_Map name_map_E31x3[] = {
+ NSPAIR(_ZN5E31x3C1Ev),
+ NSPAIR(_ZN5E31x3D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+static Base_Class bases_E31x3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,16), //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(48,24), //bcp->offset
+ 16, //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_C31, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D1, ABISELECT(64,32), //bcp->offset
+ 20, //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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x3[];
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_E31x3[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__5E31x3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__5E31x3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x3[] = {
+ {&(_ZTV5E31x3[6]), 6,24},
+ {&(_ZTV5E31x3[11]), 11,24},
+ {&(_ZTV5E31x3[15]), 15,24},
+ {&(_ZTV5E31x3[19]), 19,24},
+ {&(_ZTV5E31x3[23]), 23,24},
+ {&(_tg__ZTV3C31__5E31x3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+static VTBL_ENTRY alt_thunk_names251[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E31x3 = { "E31x3", // class name
+ bases_E31x3, 4,
+ &(vtc_E31x3[0]), // expected_vtbl_contents
+ &(vtt_E31x3[0]), // expected_vtt_contents
+ ABISELECT(80,40), // object size
+ NSPAIRA(_ZTI5E31x3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names251,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y0 : E31x3 , F1 {
+ int ff;
+ ~G31x3y0(); // tgen
+ G31x3y0(); // tgen
+};
+//SIG(1 G31x3y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x3y0 ::~G31x3y0(){ note_dtor("G31x3y0", this);} // tgen
+G31x3y0 ::G31x3y0(){ note_ctor("G31x3y0", this);} // tgen
+
+static void Test_G31x3y0()
+{
+ extern Class_Descriptor cd_G31x3y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x3y0, buf);
+ G31x3y0 *dp, &lv = *(dp=new (buf) G31x3y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x3y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y0)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x3y0");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x3y0");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(32,20), "G31x3y0");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(80,44), "G31x3y0");
+ check_base_class_offset(lv, (E31x3*), 0, "G31x3y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G31x3y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G31x3y0.ff");
+ test_class_info(&lv, &cd_G31x3y0);
+ dp->~G31x3y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y0(Test_G31x3y0, "G31x3y0", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y0C1Ev();
+extern void _ZN7G31x3y0D1Ev();
+Name_Map name_map_G31x3y0[] = {
+ NSPAIR(_ZN7G31x3y0C1Ev),
+ NSPAIR(_ZN7G31x3y0D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x3y0[] = {
+ // 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)
+ 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,36), //bcp->offset
+ 19, //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_C31, ABISELECT(32,20), //bcp->offset
+ 9, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 23, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x3y0[];
+extern void _ZN2F13fooEv();
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y0[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x3y0[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y0[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y0[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y0[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y0[] = {
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y0[] = {
+ {&(_ZTV7G31x3y0[6]), 6,27},
+ {&(_tg__ZTV5E31x3__7G31x3y0[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y0[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y0[3]), 3,4},
+ {&(_ZTV7G31x3y0[14]), 14,27},
+ {&(_ZTV7G31x3y0[18]), 18,27},
+ {&(_ZTV7G31x3y0[22]), 22,27},
+ {&(_ZTV7G31x3y0[26]), 26,27},
+ {&(_tg__ZTV3C31__7G31x3y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y0[];
+extern VTBL_ENTRY _ZTV7G31x3y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y0[];
+static VTBL_ENTRY alt_thunk_names252[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y0 = { "G31x3y0", // class name
+ bases_G31x3y0, 6,
+ &(vtc_G31x3y0[0]), // expected_vtbl_contents
+ &(vtt_G31x3y0[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x3y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y0),27, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y0),13, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names252,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y1 : virtual E31x3 , F1 {
+ int ff;
+ ~G31x3y1(); // tgen
+ G31x3y1(); // tgen
+};
+//SIG(1 G31x3y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G31x3y1 ::~G31x3y1(){ note_dtor("G31x3y1", this);} // tgen
+G31x3y1 ::G31x3y1(){ note_ctor("G31x3y1", this);} // tgen
+
+static void Test_G31x3y1()
+{
+ extern Class_Descriptor cd_G31x3y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x3y1, buf);
+ G31x3y1 *dp, &lv = *(dp=new (buf) G31x3y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x3y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y1)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x3y1");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x3y1");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(32,20), "G31x3y1");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(80,44), "G31x3y1");
+ check_base_class_offset(lv, (E31x3*), ABISELECT(16,12), "G31x3y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x3y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x3y1.ff");
+ test_class_info(&lv, &cd_G31x3y1);
+ dp->~G31x3y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y1(Test_G31x3y1, "G31x3y1", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y1C1Ev();
+extern void _ZN7G31x3y1D1Ev();
+Name_Map name_map_G31x3y1[] = {
+ NSPAIR(_ZN7G31x3y1C1Ev),
+ NSPAIR(_ZN7G31x3y1D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x3y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //bcp->offset
+ 20, //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, ABISELECT(64,36), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,20), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 28, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, ABISELECT(16,12), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //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 _ZTI7G31x3y1[];
+extern void _ZN2F13fooEv();
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y1[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x3y1[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y1[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y1[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y1[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y1[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y1[] = {
+ {&(_ZTV7G31x3y1[7]), 7,32},
+ {&(_ZTV7G31x3y1[14]), 14,32},
+ {&(_ZTV7G31x3y1[19]), 19,32},
+ {&(_ZTV7G31x3y1[23]), 23,32},
+ {&(_ZTV7G31x3y1[27]), 27,32},
+ {&(_ZTV7G31x3y1[31]), 31,32},
+ {&(_tg__ZTV5E31x3__7G31x3y1[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y1[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y1[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x3y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y1[];
+extern VTBL_ENTRY _ZTV7G31x3y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y1[];
+static VTBL_ENTRY alt_thunk_names253[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y1 = { "G31x3y1", // class name
+ bases_G31x3y1, 6,
+ &(vtc_G31x3y1[0]), // expected_vtbl_contents
+ &(vtt_G31x3y1[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x3y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y1),32, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y1),14, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names253,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y2 : E31x3 , virtual F1 {
+ int ff;
+ ~G31x3y2(); // tgen
+ G31x3y2(); // tgen
+};
+//SIG(1 G31x3y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x3y2 ::~G31x3y2(){ note_dtor("G31x3y2", this);} // tgen
+G31x3y2 ::G31x3y2(){ note_ctor("G31x3y2", this);} // tgen
+
+static void Test_G31x3y2()
+{
+ extern Class_Descriptor cd_G31x3y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x3y2, buf);
+ G31x3y2 *dp, &lv = *(dp=new (buf) G31x3y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x3y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y2)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "G31x3y2");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "G31x3y2");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(16,12), "G31x3y2");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(64,36), "G31x3y2");
+ check_base_class_offset(lv, (E31x3*), 0, "G31x3y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x3y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x3y2.ff");
+ test_class_info(&lv, &cd_G31x3y2);
+ dp->~G31x3y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y2(Test_G31x3y2, "G31x3y2", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y2C1Ev();
+extern void _ZN7G31x3y2D1Ev();
+Name_Map name_map_G31x3y2[] = {
+ NSPAIR(_ZN7G31x3y2C1Ev),
+ NSPAIR(_ZN7G31x3y2D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x3y2[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 13, //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(48,28), //bcp->offset
+ 17, //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_C31, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(80,44), //bcp->offset
+ 25, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 11, //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 _ZTI7G31x3y2[];
+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));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x3y2[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x3y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y2[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y2[] = {
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y2[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y2[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y2[] = {
+ {&(_ZTV7G31x3y2[7]), 7,29},
+ {&(_tg__ZTV5E31x3__7G31x3y2[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y2[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y2[3]), 3,4},
+ {&(_ZTV7G31x3y2[12]), 12,29},
+ {&(_ZTV7G31x3y2[16]), 16,29},
+ {&(_ZTV7G31x3y2[20]), 20,29},
+ {&(_ZTV7G31x3y2[24]), 24,29},
+ {&(_ZTV7G31x3y2[28]), 28,29},
+ {&(_tg__ZTV3C31__7G31x3y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y2[];
+extern VTBL_ENTRY _ZTV7G31x3y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y2[];
+static VTBL_ENTRY alt_thunk_names254[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y2 = { "G31x3y2", // class name
+ bases_G31x3y2, 6,
+ &(vtc_G31x3y2[0]), // expected_vtbl_contents
+ &(vtt_G31x3y2[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x3y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y2),29, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y2),14, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names254,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y3 : virtual E31x3 , virtual F1 {
+ int ff;
+ ~G31x3y3(); // tgen
+ G31x3y3(); // tgen
+};
+//SIG(1 G31x3y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G31x3y3 ::~G31x3y3(){ note_dtor("G31x3y3", this);} // tgen
+G31x3y3 ::G31x3y3(){ note_ctor("G31x3y3", this);} // tgen
+
+static void Test_G31x3y3()
+{
+ extern Class_Descriptor cd_G31x3y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[15];
+ init_test(&cd_G31x3y3, buf);
+ G31x3y3 *dp, &lv = *(dp=new (buf) G31x3y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(112,56), "sizeof(G31x3y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y3)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,24), "G31x3y3");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,32), "G31x3y3");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(32,16), "G31x3y3");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(80,40), "G31x3y3");
+ check_base_class_offset(lv, (E31x3*), ABISELECT(16,8), "G31x3y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(96,48), "G31x3y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x3y3.ff");
+ test_class_info(&lv, &cd_G31x3y3);
+ dp->~G31x3y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y3(Test_G31x3y3, "G31x3y3", ABISELECT(112,56));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y3C1Ev();
+extern void _ZN7G31x3y3D1Ev();
+Name_Map name_map_G31x3y3[] = {
+ NSPAIR(_ZN7G31x3y3C1Ev),
+ NSPAIR(_ZN7G31x3y3D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x3y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 20, //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, ABISELECT(64,32), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 13, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,40), //bcp->offset
+ 28, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(96,48), //bcp->offset
+ 32, //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
+ 6, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G31x3y3[];
+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));
+extern void _ZN2D13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x3y3[] = {
+ ABISELECT(96,48),
+ ABISELECT(80,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+ 0,
+ ABISELECT(-96,-48),
+ (VTBL_ENTRY)&(_ZTI7G31x3y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y3[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y3[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y3[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y3[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y3[] = {
+ {&(_ZTV7G31x3y3[8]), 8,36},
+ {&(_ZTV7G31x3y3[14]), 14,36},
+ {&(_ZTV7G31x3y3[19]), 19,36},
+ {&(_ZTV7G31x3y3[23]), 23,36},
+ {&(_ZTV7G31x3y3[27]), 27,36},
+ {&(_ZTV7G31x3y3[31]), 31,36},
+ {&(_ZTV7G31x3y3[35]), 35,36},
+ {&(_tg__ZTV5E31x3__7G31x3y3[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y3[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y3[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x3y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y3[];
+extern VTBL_ENTRY _ZTV7G31x3y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y3[];
+static VTBL_ENTRY alt_thunk_names255[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y3 = { "G31x3y3", // class name
+ bases_G31x3y3, 6,
+ &(vtc_G31x3y3[0]), // expected_vtbl_contents
+ &(vtt_G31x3y3[0]), // expected_vtt_contents
+ ABISELECT(112,56), // object size
+ NSPAIRA(_ZTI7G31x3y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y3),36, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y3),15, //virtual table table var
+ 6, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names255,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y4 : E31x3 , F0 {
+ int ff;
+ ~G31x3y4(); // tgen
+ G31x3y4(); // tgen
+};
+//SIG(1 G31x3y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x3y4 ::~G31x3y4(){ note_dtor("G31x3y4", this);} // tgen
+G31x3y4 ::G31x3y4(){ note_ctor("G31x3y4", this);} // tgen
+
+static void Test_G31x3y4()
+{
+ extern Class_Descriptor cd_G31x3y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x3y4, buf);
+ G31x3y4 *dp, &lv = *(dp=new (buf) G31x3y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x3y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y4)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x3y4");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x3y4");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(24,16), "G31x3y4");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(72,40), "G31x3y4");
+ check_base_class_offset(lv, (E31x3*), 0, "G31x3y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G31x3y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x3y4.ff");
+ test_class_info(&lv, &cd_G31x3y4);
+ dp->~G31x3y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y4(Test_G31x3y4, "G31x3y4", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y4C1Ev();
+extern void _ZN7G31x3y4D1Ev();
+Name_Map name_map_G31x3y4[] = {
+ NSPAIR(_ZN7G31x3y4C1Ev),
+ NSPAIR(_ZN7G31x3y4D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x3y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,24), //bcp->offset
+ 12, //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(56,32), //bcp->offset
+ 16, //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_C31, ABISELECT(24,16), //bcp->offset
+ 6, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(72,40), //bcp->offset
+ 20, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(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 _ZTI7G31x3y4[];
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y4[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y4[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x3y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x3y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x3y4[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y4[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y4[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y4[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y4[] = {
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y4[] = {
+ {&(_ZTV7G31x3y4[6]), 6,24},
+ {&(_tg__ZTV5E31x3__7G31x3y4[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y4[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y4[3]), 3,4},
+ {&(_ZTV7G31x3y4[11]), 11,24},
+ {&(_ZTV7G31x3y4[15]), 15,24},
+ {&(_ZTV7G31x3y4[19]), 19,24},
+ {&(_ZTV7G31x3y4[23]), 23,24},
+ {&(_tg__ZTV3C31__7G31x3y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y4[];
+extern VTBL_ENTRY _ZTV7G31x3y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y4[];
+static VTBL_ENTRY alt_thunk_names256[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y4 = { "G31x3y4", // class name
+ bases_G31x3y4, 6,
+ &(vtc_G31x3y4[0]), // expected_vtbl_contents
+ &(vtt_G31x3y4[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x3y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y4),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y4),13, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names256,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y5 : virtual E31x3 , F0 {
+ int ff;
+ ~G31x3y5(); // tgen
+ G31x3y5(); // tgen
+};
+//SIG(1 G31x3y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x3y5 ::~G31x3y5(){ note_dtor("G31x3y5", this);} // tgen
+G31x3y5 ::G31x3y5(){ note_ctor("G31x3y5", this);} // tgen
+
+static void Test_G31x3y5()
+{
+ extern Class_Descriptor cd_G31x3y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x3y5, buf);
+ G31x3y5 *dp, &lv = *(dp=new (buf) G31x3y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x3y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y5)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x3y5");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x3y5");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(32,20), "G31x3y5");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(80,44), "G31x3y5");
+ check_base_class_offset(lv, (E31x3*), ABISELECT(16,12), "G31x3y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x3y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x3y5.ff");
+ test_class_info(&lv, &cd_G31x3y5);
+ dp->~G31x3y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y5(Test_G31x3y5, "G31x3y5", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y5C1Ev();
+extern void _ZN7G31x3y5D1Ev();
+Name_Map name_map_G31x3y5[] = {
+ NSPAIR(_ZN7G31x3y5C1Ev),
+ NSPAIR(_ZN7G31x3y5D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x3y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,28), //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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, ABISELECT(64,36), //bcp->offset
+ 23, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,20), //bcp->offset
+ 13, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,44), //bcp->offset
+ 27, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //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 _ZTI7G31x3y5[];
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y5[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x3y5[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y5[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y5[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y5[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y5[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y5[] = {
+ {&(_ZTV7G31x3y5[7]), 7,31},
+ {&(_ZTV7G31x3y5[13]), 13,31},
+ {&(_ZTV7G31x3y5[18]), 18,31},
+ {&(_ZTV7G31x3y5[22]), 22,31},
+ {&(_ZTV7G31x3y5[26]), 26,31},
+ {&(_ZTV7G31x3y5[30]), 30,31},
+ {&(_tg__ZTV5E31x3__7G31x3y5[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y5[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y5[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x3y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y5[];
+extern VTBL_ENTRY _ZTV7G31x3y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y5[];
+static VTBL_ENTRY alt_thunk_names257[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y5 = { "G31x3y5", // class name
+ bases_G31x3y5, 6,
+ &(vtc_G31x3y5[0]), // expected_vtbl_contents
+ &(vtt_G31x3y5[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x3y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y5),31, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y5),14, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names257,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y6 : E31x3 , virtual F0 {
+ int ff;
+ ~G31x3y6(); // tgen
+ G31x3y6(); // tgen
+};
+//SIG(1 G31x3y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x3y6 ::~G31x3y6(){ note_dtor("G31x3y6", this);} // tgen
+G31x3y6 ::G31x3y6(){ note_ctor("G31x3y6", this);} // tgen
+
+static void Test_G31x3y6()
+{
+ extern Class_Descriptor cd_G31x3y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x3y6, buf);
+ G31x3y6 *dp, &lv = *(dp=new (buf) G31x3y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x3y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y6)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "G31x3y6");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "G31x3y6");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(16,12), "G31x3y6");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(64,36), "G31x3y6");
+ check_base_class_offset(lv, (E31x3*), 0, "G31x3y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G31x3y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x3y6.ff");
+ test_class_info(&lv, &cd_G31x3y6);
+ dp->~G31x3y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y6(Test_G31x3y6, "G31x3y6", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y6C1Ev();
+extern void _ZN7G31x3y6D1Ev();
+Name_Map name_map_G31x3y6[] = {
+ NSPAIR(_ZN7G31x3y6C1Ev),
+ NSPAIR(_ZN7G31x3y6D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x3y6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,20), //bcp->offset
+ 13, //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(48,28), //bcp->offset
+ 17, //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_C31, ABISELECT(16,12), //bcp->offset
+ 7, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 7, //bcp->index_in_construction_vtbl_array
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(64,36), //bcp->offset
+ 21, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 10, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 6, //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(76,44), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G31x3y6[];
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y6[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y6[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x3y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x3y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x3y6[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y6[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y6[] = {
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y6[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y6[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y6[] = {
+ {&(_ZTV7G31x3y6[7]), 7,25},
+ {&(_tg__ZTV5E31x3__7G31x3y6[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y6[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y6[3]), 3,4},
+ {&(_ZTV7G31x3y6[12]), 12,25},
+ {&(_ZTV7G31x3y6[16]), 16,25},
+ {&(_ZTV7G31x3y6[20]), 20,25},
+ {&(_ZTV7G31x3y6[24]), 24,25},
+ {&(_tg__ZTV3C31__7G31x3y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y6[];
+extern VTBL_ENTRY _ZTV7G31x3y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y6[];
+static VTBL_ENTRY alt_thunk_names258[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y6 = { "G31x3y6", // class name
+ bases_G31x3y6, 6,
+ &(vtc_G31x3y6[0]), // expected_vtbl_contents
+ &(vtt_G31x3y6[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x3y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y6),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y6),13, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names258,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x3y7 : virtual E31x3 , virtual F0 {
+ int ff;
+ ~G31x3y7(); // tgen
+ G31x3y7(); // tgen
+};
+//SIG(1 G31x3y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ v2 Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x3y7 ::~G31x3y7(){ note_dtor("G31x3y7", this);} // tgen
+G31x3y7 ::G31x3y7(){ note_ctor("G31x3y7", this);} // tgen
+
+static void Test_G31x3y7()
+{
+ extern Class_Descriptor cd_G31x3y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x3y7, buf);
+ G31x3y7 *dp, &lv = *(dp=new (buf) G31x3y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x3y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x3y7)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,24), "G31x3y7");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,32), "G31x3y7");
+ check_base_class_offset(lv, (C31*)(E31x3*), ABISELECT(32,16), "G31x3y7");
+ check_base_class_offset(lv, (D1*)(E31x3*), ABISELECT(80,40), "G31x3y7");
+ check_base_class_offset(lv, (E31x3*), ABISELECT(16,8), "G31x3y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(92,48), "G31x3y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x3y7.ff");
+ test_class_info(&lv, &cd_G31x3y7);
+ dp->~G31x3y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x3y7(Test_G31x3y7, "G31x3y7", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x3y7C1Ev();
+extern void _ZN7G31x3y7D1Ev();
+Name_Map name_map_G31x3y7[] = {
+ NSPAIR(_ZN7G31x3y7C1Ev),
+ NSPAIR(_ZN7G31x3y7D1Ev),
+ {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_C31;
+extern VTBL_ENTRY _ZTI3C31[];
+extern VTBL_ENTRY _ZTV3C31[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT3C31[];
+extern Class_Descriptor cd_D1;
+extern VTBL_ENTRY _ZTI2D1[];
+extern VTBL_ENTRY _ZTV2D1[];
+extern Class_Descriptor cd_E31x3;
+extern VTBL_ENTRY _ZTI5E31x3[];
+extern VTBL_ENTRY _ZTV5E31x3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x3[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x3y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(48,24), //bcp->offset
+ 20, //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, ABISELECT(64,32), //bcp->offset
+ 24, //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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C31, ABISELECT(32,16), //bcp->offset
+ 14, //bcp->virtual_function_table_offset
+ 5, //num_negative_vtable_entries(t, bcp)
+ 3, //bcp->index_in_construction_vtbl_array
+ 12, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D1, ABISELECT(80,40), //bcp->offset
+ 28, //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
+ 4, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x3, ABISELECT(16,8), //bcp->offset
+ 8, //bcp->virtual_function_table_offset
+ 6, //num_negative_vtable_entries(t, bcp)
+ 2, //bcp->index_in_construction_vtbl_array
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F0, ABISELECT(92,48), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G31x3y7[];
+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));
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY vtc_G31x3y7[] = {
+ ABISELECT(92,48),
+ ABISELECT(80,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x3y7[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x3y7[];
+static VTBL_ENTRY _tg__ZTV5E31x3__7G31x3y7[] = {
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x3__7G31x3y7[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E31x3__7G31x3y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E31x3__7G31x3y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN2D13fooEv();
+static VTBL_ENTRY _tg__ZTV2D1__5E31x3__7G31x3y7[] = {
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x3[0]),
+ (VTBL_ENTRY)&_ZN2D13fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x3y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C31__7G31x3y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv)();
+extern void ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C31__7G31x3y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x3y7[] = {
+ {&(_ZTV7G31x3y7[8]), 8,32},
+ {&(_ZTV7G31x3y7[14]), 14,32},
+ {&(_ZTV7G31x3y7[19]), 19,32},
+ {&(_ZTV7G31x3y7[23]), 23,32},
+ {&(_ZTV7G31x3y7[27]), 27,32},
+ {&(_ZTV7G31x3y7[31]), 31,32},
+ {&(_tg__ZTV5E31x3__7G31x3y7[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x3__7G31x3y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x3__7G31x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x3__7G31x3y7[3]), 3,4},
+ {&(_tg__ZTV2D1__5E31x3__7G31x3y7[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x3y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x3y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x3y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x3y7[];
+extern VTBL_ENTRY _ZTV7G31x3y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x3y7[];
+static VTBL_ENTRY alt_thunk_names259[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C313fooEv,_ZThn16_N3C313fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn16_N3C313fooEv,_ZThn8_N3C313fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G31x3y7 = { "G31x3y7", // class name
+ bases_G31x3y7, 6,
+ &(vtc_G31x3y7[0]), // expected_vtbl_contents
+ &(vtt_G31x3y7[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x3y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x3y7),32, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x3y7),14, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names259,
+};
+#endif // __cplusplus
+
+//============================================================================
+